PHP の register_globals 値のオンとオフについての理解を共有する_PHP チュートリアル

WBOY
リリース: 2016-07-21 16:12:57
オリジナル
1232 人が閲覧しました

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.comtru​​ehttp://www.bkjia.com/PHPjc/313566.html技術記事 register_globals の値は、On または Off に設定できます。それぞれの違いを説明するコードを示します。 コード: コードをコピーします。 コードは次のとおりです: form name="frmTest" id="frmTest" act...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!