对象而不是全局命名空间的parse_str

时间:2012-04-03 23:14:43

标签: php security

通常使用parse_str('name=me&hungry=yes')会使变量$namehungry分别等于'me''yes'

使用此函数的问题在于我通过用户输入运行它并且感到不舒服,因此确保我无法获得任何攻击,因为变量被放在全局命名空间中。

有没有办法让这个功能只将值放入给定变量?例如parse_str('name=me&hungry=yes', $obj)之类的内容会使obj等于

array('name' => 'me', 'hungry' => 'yes');

3 个答案:

答案 0 :(得分:2)

不仅是例如,而且确切地说。请参阅parse_str­Docs,尤其是示例。

答案 1 :(得分:0)

parse_str()的第二个参数将是一系列参数。

答案 2 :(得分:0)

parse_str($string,$newarray)

$ newarray是你可以从那里处理的数组