\" はエスケープしないのはなぜですか?-Golang-php.cn">
」? 「/」? " />
HTML/テンプレートのエスケープについて
HTML/テンプレートが「>」のままで「<」を「<」に不必要にエスケープするという問題が発生しました。 ;" untouched。この動作を理解するために、まず HTML/テンプレートのエスケープの目的を調べてみましょう。
安全のための HTML エスケープ
HTML/テンプレートは、潜在的にコード インジェクションの脆弱性を防ぐための危険な文字。このエスケープはコンテキスト依存であり、HTML、CSS、URI などのさまざまなコンテキストに埋め込まれたときにデータが適切にエンコードされるようにします。
HTML の html/template出力のみ
ただし、html/template は HTML 出力を生成するために特別に設計されていることに注意することが重要です。その主な目的は、ユーザーが指定したデータを HTML ドキュメントに埋め込む安全な手段を提供することです。
非 HTML 出力にはテキスト/テンプレートを使用する
必要な出力が HTML でない場合は、html/テンプレート、テキスト/テンプレートとは異なり、代わりにテキスト/テンプレートを使用する必要があります。エスケープを実行しないため、プレーン テキストまたはカスタム ファイル形式を生成できます。
結論
この例では、テンプレートは非 HTML 形式のファイルを生成することを目的としています。 Readme やライセンスなどのファイル。したがって、「<」の不必要なエンコードを避けるために、文字をエスケープしないテキスト/テンプレートを使用する必要があります。出力形式に基づいて適切なテンプレート パッケージを選択することで、正しい動作を保証し、予期しないエスケープの問題を回避できます。
以上がhtml/template は \"<\" をエスケープするのに \">\" はエスケープしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。