menu
ホーム > PHPセキュリティー > 2 セキュリティーの基礎 > 2-2 PHPのエラーコードについて [PHPセキュリティー]
UPDATE:2017年08月08日

2-2 PHPのエラーコードについて [PHPセキュリティー]

PHPセキュリティ
PHPのエラー報告を公開しない  [PHPセキュリティー] | wepicks!


PHPのエラーコード

POINT

  • PHPのエラーコードを必ず確認する

PHPのエラーコードは開発者にとって非常にありがたいものです。どこでどのようなエラーが発生しているのかを教えてくれます。低いレベルのエラーが発生していてもスクリプトが動作してしまう場合が殆どで、そのようなエラーを放置したままスクリプトを記述することもできるでしょう(致命的なエラーの場合はスクリプトが停止しますが)。ですが、エラーコードを確認しながら記述することで、より正確にコードを記述することが出来ます。正確にコードを記述することによって、アプリケーションのセキュリティーレベルが上がり、また、バグを未然に防ぐことにも繋がるでしょう。エラーコードは必ず確認するようにしましょう。ですが、エラーコードは攻撃者にとって攻撃の糸口を探させる情報にもなりますので、非公開に設定しましょう。


PHPのエラー報告を公開しない

POINT

  • PHPのエラー報告を公開しない

PHPのエラーコードが公開されないようにしましょう。攻撃者はエラーコードから攻撃の糸口を探そうとします。エラーコードを非表示にする設定を以下で紹介します。

PHP構成ディレクティブ(指示文:php.ini)の設定でエラーコードを非表示

display_errors = Off」とすることで、PHPのエラーコードが公開されません。

log_errors = On」「error_log = /var/www/html/phperrorlog/logs.txt」とすることで、logs.txtへエラー内容が出力されるようになります。出力先のファイルは書き込みが出来る属性に変更しましょう。

E_ALL | E_STRICT」とすることでより厳しいチェックが行われます。初期化されていない変数の使用などに対してもエラーが報告されます。

php5の場合 ; error_log = syslog syslogを無効にする

バージョン内容
5.4.0E_STRICT が E_ALL に含まれる。
5.3.0E_DEPRECATED と E_USER_DEPRECATED が追加。
5.2.0E_RECOVERABLE_ERROR が追加。
5.0.0E_STRICT が追加。 (E_ALL には含まれない)

iniファイルが設定できない場合の実装

phpファイルに直接記述します。記述したファイルを include することで実装できます。

関数での実装

関数をスクリプトの最初に実行することで実装できます。


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

日付

投稿日:2017年8月6日
最終更新日:2017年08月08日

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

この記事へのコメント

トラックバックurl

https://wepicks.net/phpsecurity-base-errorreport/trackback/

page top