レジスタのグローバル効果を手動で '偽造'できますが、セキュリティを追加できます。 (私は一部osCommerceのフォークからこれをつかん呼ばXOOPS)
// Detect bad global variables
$bad_global_list = array('GLOBALS', '_SESSION', 'HTTP_SESSION_VARS', '_GET', 'HTTP_GET_VARS', '_POST', 'HTTP_POST_VARS', '_COOKIE', 'HTTP_COOKIE_VARS', '_REQUEST', '_SERVER', 'HTTP_SERVER_VARS', '_ENV', 'HTTP_ENV_VARS', '_FILES', 'HTTP_POST_FILES');
foreach ($bad_global_list as $bad_global) {
if (isset($_REQUEST[$bad_global])) {
die('Bad Global');
}
}
// Make global variables
foreach ($_REQUEST as $name -> $value) {
$$name = $value; // Creates a varable nammed $name equal to $value.
}
あなたは、少なくとも(パスとベースURLのように)あなたのグローバル設定変数を追加することで、あなたのコードをより安全にするために、それを微調整したいと思いますが悪いグローバルリストに追加します。
また、使用されているすべてのget/post変数のリストを簡単にコンパイルして、$ return_urlなどのすべての変数を最終的に$ _REQUEST ['return_url]に置き換えるのに役立ちます。