HTMLをエンコードすべきとき
Webページにコードのサンプルを表示したいとき、ユーザーの文章をマークアップとして読まれないようにテンプレートに入れたいとき、HTMLを解釈するメールやCMSの欄に内容を貼り付けたいときなど。デコードは、書き出しやAPIから"やéだらけの文章を受け取ったときに役立ちます。
<、>、&、引用符をHTMLエンティティにして文字として表示させたり、&、é、'を読める文字に戻したりできます。
<div class="container"> <h1>Hello &amp; Welcome</h1> <p>Use &lt;strong&gt; for <strong>bold</strong> text.</p> <img src="photo.jpg" alt="A &quot;great&quot; photo" /> </div>
Webページにコードのサンプルを表示したいとき、ユーザーの文章をマークアップとして読まれないようにテンプレートに入れたいとき、HTMLを解釈するメールやCMSの欄に内容を貼り付けたいときなど。デコードは、書き出しやAPIから"やéだらけの文章を受け取ったときに役立ちます。
HTMLの意味を変えてしまう文字(<、>、&、"、')は常にエンコードされます。アクセントなどを壊してしまうシステム向けに、ASCII以外のすべての文字を数値エンティティにすることもできます。デコーダーは、すべての名前付きエンティティ( 、©、é)と、10進数・16進数の数値エンティティに対応しています。エンコードはXSS対策の1つの層であり、フレームワークのエスケープの代わりにはなりません。
入力パネルにHTMLか普通のテキストを貼り付けます。
文字をHTMLエンティティにするなら「エンコード」、エンティティを文字に戻すなら「デコード」を選びます。
出力をコピーして、HTML、メールのテンプレート、Webアプリで使います。
クロスサイトスクリプティング(XSS)は、Webでいちばんよくある脆弱性のひとつです。ユーザーの入力をHTMLに入れる前にエンコードすれば、悪意のあるスクリプトの実行を防げます。
フォームの入力、URLのパラメータ、データベースの値、APIのレスポンスなど、HTMLに表示するユーザー由来のデータは、必ずエンコードしましょう。
セキュリティのコツ文章はブラウザの中にとどまります。アップロードも、保存も、トラッキングもありません。
テンプレートや社内のHTMLも端末から出ません。エンコード・デコード中に何かが送信されることはありません。
プライバシーHTMLのエンコードについて知っておきたいこと