たとえばUTF-7によるXSS攻撃ですが、以下の例では、JavaScriptのタグを洗浄できていません。
lang
1$str = "+ADw-script+AD4-alert('Dangerous+ACE')+ADsAPA-/script+AD4-";
2header("Content-Type: text/html; charset=UTF-7");
3
4// htmlentities()
5echo htmlentities($str,ENT_COMPAT | ENT_HTML401, 'UTF-8') . "\n";
6// htmlspecialchars()
7echo htmlspecialchars($str, ENT_COMPAT | ENT_HTML401, 'UTF-8') . "\n";
8
strip_tags()も必須ですね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。