今さらだけどregister_globalsの危険性について

phpregister_globals Onにすると危険。とはよく言われますが、具体的に何が危険なんだ?

という話になって、「そういえば何が危険なんだっけ?」と思ってあらためて調べてみました。

http://gihyo.jp/dev/serial/01/php-security/0001

例えばアプリケーション中に

require($base_dir.'/file_to_include.php');

のようなコードがあると

require($_GET['base_dir'].'/file_to_include.php');

と記述しているのと同じなってしまう場合があります。

すごくわかりやすい例だと思ったのでメモしておきます。

ちなみにregister_globalsはphp6では廃止されるらしいですね。