Php 使用循环保护post变量以防止sql注入

Php 使用循环保护post变量以防止sql注入,php,security,Php,Security,我正在努力使我的php脚本更加安全 因为我得到了一个包含大量post变量的表单,所以我不想检查每个变量 在stackoverflow上,我在一篇文章中找到了这个脚本,但它的分数是-2,所以我认为这是不安全的,但我找不到任何原因说明它不安全 foreach($_POST as $key => $value) { $value = filter_var($value, FILTER_SANITIZE_STRING); $value = mysql_real_escape

我正在努力使我的php脚本更加安全

因为我得到了一个包含大量post变量的表单,所以我不想检查每个变量

在stackoverflow上,我在一篇文章中找到了这个脚本,但它的分数是-2,所以我认为这是不安全的,但我找不到任何原因说明它不安全

 foreach($_POST as $key => $value)
 {
     $value = filter_var($value, FILTER_SANITIZE_STRING);
     $value = mysql_real_escape_string($value);
     $_POST[$key] = $value ;
 }
此脚本是否安全以使
$\u POST
变量安全


在sql语句中使用“编辑安全”

这不太好,但是。。。没有一种解决方案可以解决所有问题,而且你也没有真正提出任何需要解决的问题。这里有一些可以帮助你的建议

已弃用,而且它不会使您的变量在php代码中使用安全,只是复制/粘贴到sql语句字符串中。此外,它在没有连接的情况下使用,因此无法考虑字符集(除非碰巧存在全局连接,这是另一个坏主意)

P> >我个人认为,在<代码> $$POST <代码>中更改值是一个错误的做法,因为现在您不知道您的用户<强>实际发布的>/P>
但是,;如果你取出
mysql\u real\u escape\u字符串(只有在下一个语句中处理数据库时才这样做),然后将更改后的值写入另一个数组,并从代码中读取(即不是
$\u POST
),它可能对你的情况非常有用。

这有点过头了,但应该能保证你的安全

<>但是,为了简化事情,你应该考虑使用准备好的语句。强烈建议

见此:

还有,见见我的朋友鲍比:


这些应该足以让您开始。

定义安全性。您正在寻找XSS预防措施吗?您想要防止SQL注入吗?或者,您希望保护数据在传递到服务器时不被篡改/窥探?安全以防止sql注入