我正在調查一個可以sql注入的項目(一個用戶報告它)。不安全的登錄腳本 - 如何保護
這裏是登錄腳本的一部分:
$loginemail = $_POST['loginemail'];
$loginemail_sql = mysql_real_escape_string($loginemail);
$password = $_POST['loginpass'];
$password_sql = mysql_real_escape_string($password);
//get user data
$q = 'SELECT uid, full_name, score, status FROM users WHERE email="'.$loginemail.'" AND password="'.$password_sql.'" LIMIT 1';
我想現在如果這部分代碼可能被注入? 是否有$ loginemail和$ password被錯誤處理並可能包含一些危險的「SQL部分」的問題?
'mysql_real_escape_string'已被棄用,你應該散列密碼。 – 2013-03-20 19:56:36
[更多信息](http://www.php.net/manual/en/mysqlinfo.api.choosing.php)對'mysql *'函數的棄用。切換到'mysqli'或PDO。 – ajp15243 2013-03-20 19:59:29