Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

htmlspecialchars/htmlentitiesの正しい使い方

ENT_COMPATのオプション名からも分かるように、最初の実装では'をエンティティ変換しない危険性を知らなかったため"のみをエンティティ変換(エスケープ)するように実装してしまった、と思われます。
              :
不正な文字エンコーディングを利用した攻撃を防ぐためにも3つ目の引数も指定する方が良いです。正しい(安全な)htmlspecialchars/htmlentiesの使い方は

htmlspecialchars($str, ENT_QUOTES, 'UTF-8');

等とするべきです。
              :
参考になれば幸いです。

参考になります:-)