register_globals の値は、On または Off に設定できます。それぞれの違いを説明するコードを示します。 コード: コードをコピー コードは次のとおりです: register_globals=Off の場合、次のプログラムは $_GET['user_name'] と $_GET['user_pass'] を使用して、受信時に渡された値を受け入れる必要があります。 (注: のメソッド属性が post の場合、$_POST['user_name'] と $_POST['user_pass'] を使用する必要があります) register_globals=On の場合、次のプログラムは $user_name と $user_pass を直接使用して値を受け入れることができます。 register_globals はその名の通り、グローバル変数として登録するという意味なので、Onの場合は渡された値がそのままグローバル変数として登録されて直接利用され、Offの場合は特定の配列に行く必要がありますそれを得るために。したがって、値を取得できないという上記の問題に遭遇した友人は、まず register_globals 設定が値を取得する方法と一致しているかどうかを確認する必要があります。 (表示するには、phpinfo() 関数を使用するか、php.ini を直接表示できます) ここで何が問題なのか見てみましょう? 次の PHP スクリプトを見てください。このスクリプトは、入力されたユーザー名とパスワードが正しい場合に Web ページへのアクセスを承認するために使用されます。 コードをコピーします コードは次のとおりです: // ユーザー名とパスワードを確認しますif ($username == 'kevin' and $password == 'secret')$ authorized = true ;?>ユーザー名とパスワードを入力してください:ユーザー名: パスワード: 上記のコードの問題は、正しいユーザー名とパスワードを入力しなくても簡単にアクセスできることです。ブラウザのアドレスバーの最後に ?authorized=1 を追加するだけです。 PHP はフォームの送信、URL クエリ文字列、Cookie など、送信された値ごとに変数を自動的に作成するため、$authorized が 1 に設定され、権限のないユーザーがセキュリティ制限を超える可能性があります。 http://www.bkjia.com/PHPjc/313566.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313566.html技術記事 register_globals の値は、On または Off に設定できます。それぞれの違いを説明するコードを示します。 コード: コードをコピーします。 コードは次のとおりです: form name="frmTest" id="frmTest" act...