Shikata Ga Nai

Private? There is no such things.

PHPセキュリティのベストプラクティスについてふれてみた①

Hello there, ('ω')ノ

 

■PHPのバージョンを定期的に更新する

古いバージョンのPHPには、既知のセキュリティ問題があり。

これらの欠陥は新しいバージョンで修正されており。

ハッカーが攻撃を仕掛けるのがより困難になっていて。

PHPプログラムを維持している間は、バージョンの更新を優先して。

古いバージョンに対して脆弱な攻撃対象領域を防ぐ必要があって。 


■ディレクトリアクセスを制限する 

ディレクトリアクセスを制限するには、open_basedir 関数を使用して。

たとえば、 open_basedir 関数がプロジェクトのルートに設定されている場合は。

これは、アクセス可能なファイルがプロジェクトの。

ルート以下にあるファイルのみであることを意味して。


■URLエンコードを使用する 

URLエンコードにより、有効なURLを安全に生成できて。

これにより、ユーザ情報が公開された結果として。

発生する可能性のあるセキュリティ違反が防止されて。

URLエンコードの例は次のとおりで。


<?php 
echo '<a href="mylink?fruit=', urlencode($fruitID), '">'; 
?>


■アプリケーションエラーログ 

ステージング環境と本番環境の両方で。

アプリケーション開発におけるエラーログの重要性を誇張することはできず。

これは、エラーログがアプリケーションのパフォーマンスのデバッグと。

監視に役立つという事実によるもので。

したがって、後で使用できるようにPHPアプリケーションのログを。

指定したファイルに保存する必要があって。

php.iniファイル内で次のようにログを構成して。

 

log_errors = On
error_log=/var/log/httpd/php_error_file.log

 

ハッカーがエラーに基づいてサイトで貴重な情報を取得するのを防ぐには。

ライブサーバでのエラーの表示を無効にする必要があって。

php.inファイルで次のパラメータを設定して。

 

Display_errors = Off

 

Best regards, (^^ゞ