Register_globalsは、GETあるいはPOSTを通ったすべての変数がグローバル変数としてスクリプト内で使用可能であるということを表します。
宣言されていない変数へのアクセスはPHPではエラー(警告)とはみなされないため、とても嫌な状況に陥ってしまうことがあるのです。
極端な例ですが、下記のようなコードの場合、
lang
1localhost/hogehoge.php
2<?php
3//adminならパスワード表示させる
4if ($admin == TRUE) {
5 echo "パスワードはXXXX \n";
6}
7?>
8
localhost/hogehoge.php?admin=TRUEとするとif文の結果が正になります。
もしソース内の変数名が外部で知られている場合、セキュリティーは破綻してしまいます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。