这是逃避多个字段的正确方法吗?


Is this the right way to escape multiple fields?

我刚刚雇了一个人来做一个安全的表单,下面粘贴的只是一个大代码的片段:

        $_POST = escape_all($_POST);
        $some1 = $_POST['some1'];
        $some2 = $_POST['some2'];
        $some3 = $_POST['some3'];
        $some4 = $_POST['some4'];
        $some5 = $_POST['some5'];
        $some6 = $_POST['some6'];
        $some7 = $_POST['some7'];
        $some8 = $_POST['some8'];

这是正确的方法还是我应该在所有变量中添加 mysql_real_escape_string();

看起来他写了一个自定义函数来逃避。只要该escape_all函数调用mysql_real_escape字符串,它在技术上就可以工作,尽管出于一些原因,我不会说它是首选解决方案。

首先,你要小心不要逃跑

到其他任何地方,因为它很容易导致双重逃跑,这可能会导致其他问题。

此外,如果性能是一个问题,您最终可能会根据情况转义大量不需要转义的数据。

是的,使用 mysqli 而不是 mysql 通常是可取的。