PHPでウェブの世界と繋がろう!
menu

2-7 エスケープを行う

Pocket

説明

エスケープを行う
POINT

  • エスケープはセキュリティーの要
  • エスケープとは出力先に合わせてデータを適切な形に変更すること
  • すべての出力データにエスケープを行う

エスケープは非常に大切であり、セキュリティーの要となります。エスケープとは出力先に合わせてデータを適切な形に変更することです。例えば、httpクライアント(ブラウザ)への出力時、データベースへ送信時、など、PHPから別の場所にデータを送信する際には、そのデータを適切にエスケープ処理する必要がある。出力先で送信したデータが誤った解釈をさせるとアプリケーションに重大な脆弱性が発生する可能性があります。

出力データ
POINT

  • 出力データとはPHP以外の場所に出力するデータ

出力データとはPHP以外の場所に出力するデータのことです。出力先がhttpクライアントであったり、URLであったり、データベースであったりします。「echo」「print」を使用した場合は、データをhttpクライアント(ブラウザなど)へ送信していることになります。「mysql_query()」を使用した場合は、データをMySQLデータベースへ送信しているということになります。

以下の場合は、データをhttpクライアント(ブラウザなど)へ送信しています。

echo $string;//エスケープされていない
echo htmlentities($string, ENT_QUOTES, 'UTF-8');//エスケープされている

エスケープや出力データの詳細はこちらを参照下さい

タグ(=記事関連ワード)

日付

投稿日:2012年7月16日
最終更新日:2012年08月29日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpsecurity-base-escape/trackback/