0

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

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

4

1 回答 1

2

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

首先,您要小心不要在其他任何地方转义,因为它很容易导致双重转义,从而导致其他问题。

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

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

于 2012-04-11T03:26:42.620 回答