【PHP】特殊文字をHTMLエンティティに変換する

フォームなどでユーザが書き込んだ文字列をそのまま利用するのは大変危険です。

悪意のあるユーザによりhtmlのタグやjavascriptでクライアントスクリプトを入力されてしまうと、フォームの送信ボタンを押した瞬間スクリプトが実行されてしまいます。このような危険性の事をクロスサイトスクリプティング(xss)といいます。

PHPで用意されているhtmlspecalchars関数を利用して、ユーザが入力したhtmlの特殊文字をhtmlエンティティに変換する事で、表示できるhtml形式にしてタグを無効化する事ができます。

$aaa = htmlspecialchars($_POST["aaa"]);

htmlspecalchars()をつかうと「&」「<」「>」「"」の4つの文字が「&amp;」「&lt;」「&gt;」「&quot;」に変換される。

$aaa = htmlspecialchars($_POST["aaa"], ENT_QUOTES);

第2引数にENT_QUOTESを入れると、さらに「’(シングルクォーテーション)」もhtmlエンティティに変換する事ができるよ!!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>