我用这个:

function safeClean($n)
{
    $n = trim($n);

    if(get_magic_quotes_gpc())
    {
        $n = stripslashes($n);
    }

    $n = mysql_escape_string($n);
    $n = htmlentities($n);

    return $n;
}

防止任何类型的 MySQL 注入(inject)或类似的东西。每当我使用它像这样环绕 $_POST 时:
$username = safeClean($_POST['user']);
$password = md5(safeClean($_POST['password']));
$vpassword = md5(safeClean($_POST['verify']));
$email = safeClean($_POST['email']);

它甚至不起作用,但我附加了functions.php 并且该目录是正确的但根本不起作用,因为它只显示一个空白页...如果我从每个$_POST 中删除safeClean() 它将起作用。

为什么这根本不起作用?

最佳答案

尝试使用 mysql_real_escape_string() 而不是 mysql_escape_string()

10-08 20:08