取此代码:
<?PHP if (isset($_POST['action']) && !empty($_POST['action'])) { $action = $_POST['action']; } if ($action) { echo $action; } else { echo 'No variable'; } ?>
然后用?action = test访问文件
有什么办法阻止$动作被GET自动声明吗?除了当然添加
&& !isset($_GET['action'])
为什么要让变量被声明为我?
检查你的PHP.ini的register_globals设置.这可能是你想要的.
原文链接:https://www.f2er.com/php/132058.htmlWhy would I want the variable to be declared for me?
You don’t.这是一个可怕的安全风险.它使环境,GET,POST,Cookie和服务器变量全局为(PHP manual).这是PHP中的一小部分reserved variables.