我用這個:功能淨化輸入值PHP
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注入或類似的東西的。每當我用它環繞$ _POST像這樣:
$username = safeClean($_POST['user']);
$password = md5(safeClean($_POST['password']));
$vpassword = md5(safeClean($_POST['verify']));
$email = safeClean($_POST['email']);
,它甚至沒有工作,但我重視的functions.php和目錄是正確的,但在所有的,因爲它只是顯示了一個不工作空白頁...如果我從每個$ _POST中刪除safeClean(),它就會起作用。
這是怎麼回事?
沒有通用函數來做這件事(除了'function foo($ str){return'';}')。每種語言和上下文都有自己需要照顧的特殊字符。 – Gumbo 2010-06-09 19:07:06
您不必在密碼上使用safeClean()。 MD5已被消毒:) – 2010-06-09 19:07:38
你想輸出什麼?什麼不工作? – thetaiko 2010-06-09 19:08:30