清理数组时的安全问题(在PHP中)?
有人能解释一下为什么清理数组时的安全问题(在PHP中)?,php,security,Php,Security,有人能解释一下为什么$\u POST=array()不是重置$\u POST superglobal的有效方法吗 我在阅读时想到了这一点 作为一个数组,我会想象该数组的所有元素,无论是$\u POST还是任何其他元素,在重新初始化它时都会被重置。你说得对,$\u POST=array()正在完全重置$\u POST 另一篇文章中的答案与“如何对$\u post的值进行消毒/清理”相关。你是对的,$\u post=array()正在完全重置$\u POST 另一篇文章中的答案与“如何消毒/清理$”
$\u POST=array()
不是重置$\u POST superglobal的有效方法吗
我在阅读时想到了这一点
作为一个数组,我会想象该数组的所有元素,无论是$\u POST还是任何其他元素,在重新初始化它时都会被重置。你说得对,
$\u POST=array()代码>正在完全重置$\u POST
另一篇文章中的答案与“如何对$\u post的值进行消毒/清理”相关。你是对的,$\u post=array()代码>正在完全重置$\u POST
另一篇文章中的答案与“如何消毒/清理$”的值有关
unset($\u POST)将重置超全局设置,有效地擦除其中的任何值
跨站点脚本是一个广泛的主题,您将无法独自完成筛选
请在此处查看XSS备忘单:
+有关制定反XSS措施的更多信息,请参见:
你的问题是什么
unset($\u POST)将重置超全局设置,有效地擦除其中的任何值
跨站点脚本是一个广泛的主题,您将无法独自完成筛选
请在此处查看XSS备忘单:
+有关制定反XSS措施的更多信息,请参见:
此行$\u POST=array()
会完全重置$\u POST
数组
我想你对所提到的问题有误解。该脚本的目标不是清空$\u POST
,而是清理值
t完全尝试清理$\u POST
中的值(因为它们是用户输入),以便在执行DB操作时能够“安全”地进一步使用它们
这就是他使用(转义字符串中的特殊字符以便在SQL语句中使用)的原因
会完全重置$\u POST
数组
我想你对所提到的问题有误解。该脚本的目标不是清空$\u POST
,而是清理值
t完全尝试清理$\u POST
中的值(因为它们是用户输入),以便在执行DB操作时能够“安全”地进一步使用它们
这就是他使用(转义字符串中的特殊字符以用于SQL语句)的原因。据我所知,这就可以了。应该注意的是,这只会清除POST信息,而不是GET。我要问的问题是为什么?据我所知,那就行了。应该注意的是,这只会清除POST信息,而不是GET。我要问的问题是为什么?可能它无效,因为它阻止您访问任何表单输入字段,并有效地使$\u POST无效?@oggy:这取决于您计划如何使用它。这是您要键入的代码,以及要实现的逻辑。如果每个操作只能在一种情况下使用,编程和脚本编写将失去其目的。您只提到了数千种可能性中的一种。可能它不有效,因为它阻止您访问任何表单输入字段,并有效地使$\u POST变得无用?@oggy:这取决于您计划如何使用它。这是您要键入的代码,以及要实现的逻辑。如果每个操作只能在一种情况下使用,编程和脚本编写将失去其目的。你只提到数千种可能性中的一种。哦,那是我的误解。哦,那是我的误解。实际上,这都是我的误解。我认为他们在另一个话题中要求的是完全重置。实际上,这完全是我的误解。我认为完全重置是他们在另一个主题中要求的。