register_globals の値は、On または Off に設定できます。それぞれの違いを説明するコードを示します。
コード:
コードをコピー コードは次のとおりです:
register_globals=On の場合、次のプログラムは $user_name と $_POST['user_pass'] を直接使用できます。 $user_pass を使用して値を受け入れます。
register_globals はその名の通り、グローバル変数として登録するという意味なので、On の場合は渡された値をそのままグローバル変数として登録して直接利用し、Off の場合は渡された値を取得する必要があります。特定の配列。したがって、値を取得できないという上記の問題に遭遇した友人は、まず register_globals 設定が値を取得する方法と一致しているかどうかを確認する必要があります。 (表示するには、phpinfo() 関数を使用するか、php.ini を直接表示できます)
それでは、なぜ Off を使用するのでしょうか?理由は 2 つあります:
1. PHP の新しいバージョンはデフォルトで Off を使用しますが、これを On に設定することもできますが、サーバーを制御できない場合はコードの互換性が大きな問題となるため、プログラミングを開始する必要があります。これからは Off スタイルです
2. On ではなく Off を使用する必要がある理由を説明する 2 つの記事があります
http://www.php.net/manual/en/security.registerglobals.php
もう 1 つの質問は、以前に On スタイルで書かれた大量のスクリプトをどうするか?
前のスクリプトが適切に計画されていた場合は、config.inc.php などのパブリック インクルード ファイルがあり、このファイルに次のコードを追加してシミュレートします。
コード:
コードをコピーします
コードは次のとおりです: if ( !ini_get('register_globals') )
{
extract($_POST);
extract($_GET); ;
抽出($_FILES);
抽出($_COOKIE)
{
抽出($_SESSION);
}
?>
register_globals = Off は、
www.bkjia.com
true
http://www.bkjia.com/PHPjc/325030.html
技術記事
register_globals の値は、On または Off に設定できます。それぞれの違いを説明するコードを示します。 コード: コードをコピーします。 コードは次のとおりです: form name="frmTest" id="frmTest" act...
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。