使用foreach循环从$ _POST安全问题中获取创建变量?

时间:2011-10-02 13:23:01

标签: php security post

过去我使用以下内容从已发布的表单创建变量。

foreach($_POST as $k=>$v)
{
    $$k = $v;
}

使用此方法有哪些安全风险?

我正在尝试一些测试atm。这个版本怎么样,在变量之前删除任何不是字母或数字的东西?

foreach($_POST as $k=>$v)
{
    $k = preg_replace("/[^[:alnum:]]/","",$k);
    $$k=$v;
}

1 个答案:

答案 0 :(得分:8)

攻击者可以注入一个名为_SESSION的POST变量,并在会话中写入数据,这样您就不能再信任您的会话了。