menu
ホーム > PHPセキュリティー > 12 php.iniの設定 > 12-1 セキュリティーを考慮したphp.iniの構成 [PHPセキュリティー]
UPDATE:2017年08月09日

12-1 セキュリティーを考慮したphp.iniの構成 [PHPセキュリティー]

PHPセキュリティ


allow_url_fopen

このディレクティブを on にすると、リモートファイルをローカルファイルのようにインクルードできるようになります。必要でない限り off にするべきでしょう。


session.name

このディレクティブではセッション名を指定できます。これは、例えばクッキーに格納される場合に使用される名前です。通常は PHPSESSID となっています。予測し難い名前に変更しましょう。現在のセッション名は、session_name() で確認できます。


disable_functions

このディレクティブを使用すると、セキュリティーの観点から、危険な関数を使用できないようにします。


display_errors

このディレクティブでは、PHPのエラーの有無を指定します。開発者がPHPのエラー内容を随時確認することは非常に大切なことですが、エラー内容が一般へ公開されないようにしなければなりません。
以下のようにPHPのディレクティブを設定して、PHPエラーを開発者だけが確認できるようにしましょう。

E_ALL | E_STRICT を指定すると、初期化されていない変数のエラーも報告します。phperrorlog.txtファイルのパーミッションは書き込み可能にする。

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


enable_dl

このディレクティブは、Apacheモジュール版のPHPを使用した場合にのみ 有用です。PHPの動的ロード拡張機能を dl()で 仮想サーバー毎またはディレクトリ毎にオンまたはオフに変更することが できます。
このディレクティブは非推奨です。


magic_quotes_gpc

このディレクティブを on にすると、'(シングルクオート)、” (ダブルクオート)、\(バックスラッシュ) 、NULL には全て自動的に バックスラッシュでエスケープ処理が行われます。
エスケープの対象は、GPC(Get/Post/Cookie) と指定します。
※この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。


register_globals

このディレクティブでは、EGPCS(Environment, GET, POST, Cookie, Server)変数を グローバル変数として登録するかどうかを指定します。GETやPOSTなどがグローバル変数として登録されてしまうので、開発者を混乱させることがあります。無効にすべきです。
この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。


safe_mode

このディレクティブはセーフモードの有効の有無を指定します。
この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。


open_basedir

PHPが開くことのできるファイルを特定のディレクトリに限定します。
このディレクティブを指定することで、include や require 等のファイルシステム関数を狙った攻撃への防護策になります。設定する値はプレフィクスで、特定のディレクトリを指示する場合は、最後にスラッシュを付けて下さい。
Open_basedir = /path/to/


php 5.3.xで非推奨のディレクティブ

define_syslog_variables
register_globals
register_long_arrays
safe_mode
magic_quotes_gpc
magic_quotes_runtime
magic_quotes_sybase


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

日付

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

関連記事

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

この記事へのコメント

トラックバックurl

http://wepicks.net/phpsecurity-directive/trackback/

page top