PHP自动分配查询字符串变量,而无需我做任何事情


PHP auto-assigning query string variables without me doing anything

当我意识到我有一个正在运行的脚本时,我遇到了这个问题,但不应该。我通过制作一个单行脚本来测试它,如下所示:

<?php
echo "<br>lang - $lang"; 
?>

当我使用查询字符串?lang=japanese运行脚本时,它会输出:

lang - japanese

什么鬼东西?除了那一行之外,没有任何$_GET$_REQUEST语句或其他内容。这是怎么发生的???

正如Pekka所说,您的配置中很可能已打开register_globals。这通常被认为是一种安全风险,应该关闭

自PHP 5.4.0

起,该功能本身实际上已被删除