我正在創建一個登錄系統(並且真的是新的php)。我的朋友告訴我,我最好使用PDO。但是,我不知道如何使用PDO,而我對MySQL已經有點熟悉了。舉例來說,這裏是我的代碼的一部分:PHP mysql_query登錄系統安全
$un = preg_replace('/[^a-z]/i','',$_POST['username']);
$pw = preg_replace('/[^a-z]/i','',$_POST['password']);
$result = mysql_query("SELECT `username`,`password` FROM `login` where `username` = $un && `password` = $pw") or die (mysql_error());
請問上面的代碼有任何類型的安全風險,因爲所有非字母數字字符都被剝奪?如果是這樣,那麼最好的辦法是什麼? (使用PDO或原始MySQL)
絕對沒有別的辦法可以執行某種類型的MySQL注入?我應該採取哪些安全預防措施? –
@Howard這是'mysql_real_escape_string' [與字符串引用結合]的好處,你可以放心不會有注入。 – Shad