[英]URL Parameters to PHP Variables
我已经使用 PHP 一段时间了,从不需要帮助,但这次完全糊涂了。 我有一行带有一个 echo 语句的代码。
问题:URL 参数会自动假定 PHP 变量值具有相同的名称。 例如,我有一个带有名为var_name
的参数的 URL,如下所示:
http://www.example.com?var_name=abc123
和一个带有名为var_name
的变量的 1 行 PHP 脚本,如下所示:
echo $var_name;
然后我在页面上得到输出: abc123
这是PHP页面中唯一的代码! 这种行为正是我期望$_GET
工作的方式,但我没有使用它。
我仅在 1 个运行 PHP 5.2 的特定服务器上遇到此问题。 我已经在其他 4 台服务器上进行了测试,没有一个有这种行为。 我认为这是一个 PHP 配置问题,但运行默认配置并且在配置文档中找不到任何内容。
这称为 注册全局变量。 如果服务器已打开注册全局变量,则您可以执行此操作。
我建议不要在任何服务器上注册全局变量。 因为它可能会在您的系统中引入安全漏洞。
一个安全漏洞的例子。
if($auth == true)
{
// sensitive stuff here
}
如果 auth 只是一个常规变量,那么我可以在 URL 中执行此操作。
并查看敏感信息。
您可能启用了register_globals
:
有关信息,请参阅 手册。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.