0

これが予想される動作かどうかはわかりません。しかし、サーバーで次のものをホストすると

<?php
print $stackoverflow; 
?>

そして、次を含む別のexample.htmlがあります。

<form action="http://pinguincyb.org/roc/opdracht1/lawl.php" method="POST">
 <input type="text" name="stackoverflow" value="example">
 <input type="submit" value="Submit">
</form>

ページに「example」と表示されますが、これは正常な動作ですか? 私が何かをするまで、そのデータは利用できないはずではありませんか

$stackoverflow = $_GET["stackoverflow"];
4

3 に答える 3

6

register globalsと呼ばれる古い非推奨の機能 PHPです。取り外しても。

避けるべきです。

Register Globals の使用に関するマニュアルを読む

持っている場合は、無効にする必要があります。php.ini、.htaccess、httpd.conf、または .user.ini で実行できます (PHP 5.3 以降)。

于 2013-04-05T11:53:43.577 に答える
0

この機能は古く、非推奨です。安全ではないので使用しないでください

于 2013-04-05T11:55:42.273 に答える
0

セキュリティについて。

実際のところ、適切に作成されたアプリケーションでは、この設定がオンになっているかオフになっているかは問題ではありません。

適切に作成されたアプリケーションは、使用前にすべての変数を定義する必要があります。このルールに従えばregister_globals、害を及ぼすことはできません。

次のようなものがある場合

$admin = FALSE;
if (check_admin()) {
    $admin = TRUE;
}

誰も愚かな管理者になることはできません

/index.php?admin=1

register_globals がオンであっても。

とにかく、プログラムの一貫性のために変数を定義する必要があります。

それがポイントです。

于 2013-04-05T12:12:57.120 に答える