Is MySQLi's "mysqli_real_escape_string" Sufficient Against SQL Attacks?
Your code attempts to protect against SQL injections using "mysqli_real_escape_string()".但是,如URI2X所示,此度量不足。
漏洞到sql indection [mysqli_real_escape_scape_string()注射攻擊。例如,以下代碼仍然可能是脆弱的:); $ query =“從email ='”的用戶中選擇 *。 $電子郵件。 “'”;
而不是“ mysqli_real_escape_string()”,防止SQL注射的最有效方法是使用準備好的語句。準備的語句將數據與查詢字符串分開,以防止數據污染。); $ psw = mysqli_real_escape_string($ db_con,$ _post ['psw']); $ stmt-> execute();
嚴格的字符whitelisting$email = mysqli_real_escape_string($db_con, $_POST['email']); $query = "SELECT * FROM users WHERE email = '" . $email . "'";Conclusion
"mysqli_real_escape_string()" alone is insufficient to protect against SQL injections.準備的陳述和嚴格的白名單為這些攻擊提供了更強大的保障措施。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3