我用这个:
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()
。