2-7 エスケープを行う [PHPセキュリティー]
PHPセキュリティ
エスケープを行う
POINT
- エスケープはセキュリティーの要
- エスケープとは出力先に合わせてデータを適切な形に変更すること
- すべての出力データにエスケープを行う
エスケープは非常に大切であり、セキュリティーの要となります。エスケープとは出力先に合わせてデータを適切な形に変更することです。例えば、httpクライアント(ブラウザ)への出力時、データベースへ送信時、など、PHPから別の場所にデータを送信する際には、そのデータを適切にエスケープ処理する必要がある。出力先で送信したデータが誤った解釈をさせるとアプリケーションに重大な脆弱性が発生する可能性があります。
出力データ
POINT
- 出力データとはPHP以外の場所に出力するデータ
出力データとはPHP以外の場所に出力するデータのことです。出力先がhttpクライアントであったり、URLであったり、データベースであったりします。「echo」「print」を使用した場合は、データをhttpクライアント(ブラウザなど)へ送信していることになります。「mysql_query()」を使用した場合は、データをMySQLデータベースへ送信しているということになります。
以下の場合は、データをhttpクライアント(ブラウザなど)へ送信しています。
1 2 3 4 | <?php echo $string;//エスケープされていない echo htmlentities($string, ENT_QUOTES, 'UTF-8');//エスケープされている ?> |
エスケープや出力データの詳細はこちらを参照下さい。
タグ(=記事関連ワード)
タグ: PHPセキュリティー
日付
投稿日:2017年8月6日
最終更新日:
最終更新日:
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpsecurity-base-escape/trackback/