php.iniの設定で押さえておくべきこと
Sun, Nov 16, 2008かなり今更ですが、まとめてみました。他にも重要な設定があれば足していく予定です。
short_open_tag (Off 推奨)
PHPのスクリプトを記述するには通常、
としますが、この設定をOnにすることで
・・・ ?>
と記述することが出来ます。しかし、XMLドキュメントでも
のように記述するため、これと混同しないようにOffにすることが推奨されています。
register_globals (Off 推奨)
これがOnになっていると例えば$_GET[‘a’]の値が自動的に変数$aに格納されます。この値はセキュリティ上の問題からOffにすることが推奨されています。
display_errors (開発環境:On , 運用環境:Off 推奨)
この値がOnになっている場合はエラーメッセージを表示し、Offになっていればエラーメッセージを表示しません。
開発環境ではOnにしておき、運用する際にはOffにするのがセオリーのようです。
ちなみにdisplya_errors=Offの状態でエラーを発生させると、画面が真っ白になります。
magic_quotes_gpc(Off 推奨)
この値がOnになっていると、Get/Post/Cookieの下記4つの値に対し、頭に「」を付けてを自動的にエスケープを行います。
- “
- ‘
- NULL
これらの文字列はSQLでは特別な記号であり、そのまま値がSQLに渡されてしまうと非常に危険なため、このような処理が施されたようです。しかし、様々な理由によりこの設定はOffにすることが推奨されています。
今更ながらmagic_quotes_gpcの欠点 – T.Teradaの日記
また、レンタルサーバなどでこの設定を自由に変更できない場合の対応については、そふぃさんのサイトが非常に参考になります。