わかりました、ジレンマがあります。ユーザーが生の HTML を挿入できるようにする必要がありますが、スクリプトタグだけでなく、href などからすべての JS をブロックする必要があります。
htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
ただし、これにより、有効なタグもエンコードされた文字に変換されます。ストリップタグを使用すると、タグが削除されるため機能しません! (タグを許可できることは知っていますが、許可すると、<a></a>
人々が悪意のあるJSを追加できるなどのタグが許可されます.
HTMLタグを許可するためにできることはありますが、XSSインジェクションはありませんか? 私は機能を計画しました:xss()
そしてそれで私のサイトのテンプレートをセットアップしました. エスケープされた文字列を返します。(エスケープの助けが必要です:))
ありがとう!