有人可以解释为什么$_POST= array();
不是重置$ _POST超全球的有效方法吗?
我在阅读this question时想到了这一点。
作为一个数组,我想这个数组的所有元素,无论是$ _POST还是其他任何元素,都会在重新初始化时重置。
答案 0 :(得分:3)
您是对的,$_POST= array();
完全重置了$_POST
!
另一篇文章中的答案与“如何消毒/清理$_POST
的价值”有关。
答案 1 :(得分:1)
此行$_POST=array();
完全重置了$_POST
数组。
我想你提到的问题存在误解。该脚本的目标不是清空$_POST
,而是清理值。
tscully 尝试清理$_POST
中的值(因为它们是用户输入的),以便在进行数据库操作时能够“安全地”使用它们。
这就是为什么他使用mysql_real_escape_string(在字符串中转义特殊字符以用于SQL语句)。
答案 2 :(得分:0)
你的问题究竟是什么?
unset($ _ POST)正在重置超全局,有效地删除其中的任何值。
跨站点脚本是一个广泛的主题,你将无法自己进行过滤。
在这里查看此XSS备忘单: http://ha.ckers.org/xss.html
+有关开发反XSS措施的更多信息: http://hungred.com/web-development/solutions-crosssite-scripting-xss-attack/
答案 3 :(得分:0)
据我所知,那样做会。应该注意的是,这只会清除POST信息,而不是GET。我不得不问的问题是为什么?