好的,我不记得这方面的细节,但在一些你可以使用的服务器上
$ var而不是$ _GET ['var']访问URL中的变量,我知道这很糟糕但我不记得为什么它不好?
我认为你的意思是Register Globals.
您不应该使用它们,因为您无法区分该变量值的来源,因为它们可能来自EGPCS变量的任何来源(Environment,GET,POST,Cookie,Server).
所以,如果你有一个的$var,你不能,如果值是从说$_ENV['var'],$_GET['var'],$_POST['var'],$_COOKIE['var']或$_SERVER['var'].
该功能称为Register Globals,它允许人们将变量注入代码中.有关示例,请参阅文档 ; 这是一个:
<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
$authorized = true;
}
// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |