这是逃脱多个领域的正确方法吗?

时间:2012-04-11 03:22:03

标签: php security mysql-real-escape-string

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

        $_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();对所有变量?

1 个答案:

答案 0 :(得分:2)

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

首先,你要小心你不会逃避任何其他地方,因为它很容易导致双重逃逸,这可能会导致其他问题。

此外,如果性能受到关注,您最终可以根据具体情况转发大量不需要转义的数据。

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