ホームページ > php教程 > php手册 > PHP register_globals 値のオンとオフについての理解を共有する

PHP register_globals 値のオンとオフについての理解を共有する

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:48:04
オリジナル
995 人が閲覧しました

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;
?>


ユーザー名とパスワードを入力してください:



ユーザー名:

パスワード: < ;input type="password" name="password" />






上記のコードの問題は、正しいユーザー名とパスワードを入力しなくても簡単にアクセスできることです。ブラウザのアドレスバーの最後に ?authorized=1 を追加するだけです。 PHP はフォームの送信、URL クエリ文字列、Cookie など、送信された値ごとに変数を自動的に作成するため、$authorized が 1 に設定され、権限のないユーザーがセキュリティ制限を超える可能性があります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
分類できない
から 1970-01-01 08:00:00
0
0
0
PHPで秒を分に変換する方法
から 1970-01-01 08:00:00
0
0
0
後半はプレーできません。 。 15分後
から 1970-01-01 08:00:00
0
0
0
はしご状の分布
から 1970-01-01 08:00:00
0
0
0
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート