ホームページ >バックエンド開発 >Golang >Go テンプレートの出力に「ZgotmplZ」が表示されるのはなぜですか?それを修正するにはどうすればよいですか?

Go テンプレートの出力に「ZgotmplZ」が表示されるのはなぜですか?それを修正するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-25 11:46:42489ブラウズ

Why Does

テンプレート出力の問題: "ZgotmplZ" について

Go テンプレートを使用して HTML をレンダリングすると、出力に "ZgotmplZ" というわかりにくい表示が現れることがあります。このあいまいな値は、CSS や URL などの特定のコンテキストに到達する安全でないコンテンツを実行時に検出する安全対策から生じています。

次の例を考えてみましょう:

このテンプレートは次の内容を生成します。出力:

「ZgotmplZ」の存在は、安全でないコンテンツであることを示しますselected="selected" は CSS コンテキストに到達しました。このようなシナリオに対処するには、「safe」関数と「attr」関数をテンプレート関数マップに追加できます:

これらの関数を使用すると、テンプレートを次のように変更できます:

この変更により、出力は次のようになります。

このソリューションにより、安全でないコンテンツがコンテンツに含まれる前に適切にエスケープされます。出力。安全性を高め、コード構成を維持するために、文字列を他の型 (template.CSS、template.JS、template.URL など) に変換するカスタム関数を定義することも検討できます。

以上がGo テンプレートの出力に「ZgotmplZ」が表示されるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。