在过去,我曾使用以下代码从已发布的表单创建变量。
foreach($_POST as $k=>$v)
{
$$k = $v;
}
使用此方法有哪些安全风险?
我正在做一些测试。这个版本在创建变量之前删除任何不是字母或数字的东西怎么样?
foreach($_POST as $k=>$v)
{
$k = preg_replace("/[^[:alnum:]]/","",$k);
$$k=$v;
}
攻击者可以注入一个名为_SESSION
的POST变量,并通过该变量在会话中写入数据,从而使您无法再信任您的会话。