以下のようなデータをサイト内で埋め込んだリッチテキストエディタで入力して値を受け取ります。
php
1<!--ユーザー入力データ--> 2<?php 3$hoge='p>スポーツで<u style="background-color: rgb(255, 255, 0);">人気がある</u>のはどっちなのでしょうか?</p>' 4?>
これを出力する際にXSS対策するために以下のように出力します
php
1<?php 2echo htmlspecialchars($hoge, ENT_QUOTES, 'UTF-8') 3?>
すると特殊文字は当然エスケープされるため、html上は以下のように扱われます。
html
1<p>スポーツで<u style="background-color: rgb(255, 255, 0);">人気がある</u>のはどっちなのでしょうか?</p
これではリッチテキストで書式等を指定してユーザーから入力してもらっている意味がないのですが
ユーザー入力データの書式(タグや属性)を活かしつつ、無害化する術はあるのでしょうか?
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/28 08:32
2018/07/28 11:15
2018/07/28 13:42