攻撃を防ぐ

SQLインジェクションと
クロスサイトスクリプティングを防がないといけません。

前者はプリペアドステートメントにすることで回避。
後者は「タグの無効化」が必要なのですが、その際の関数は、
$str=htmlspecialchars($str, ENT_QUOTES, ‘UTF-8’);
で決まり、のようです
これはタグ関連の5つの文字 < > & ” ‘ をエスケープします

htmlentities() は、上記5つの文字以外にも半角カタカナなどたくさんの文字をエスケープします。
その必要性がわからなかったので私は採用しません。

strip_tag() という関数もあるのですが、
これは例えば、<^^> みたいな顔文字もエスケープしてしまうので、採用しませんでした。

コメント

タイトルとURLをコピーしました