」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > `MySQLI_REAL_ESCAPE_STRING()是否足以防止SQL注入攻擊?

`MySQLI_REAL_ESCAPE_STRING()是否足以防止SQL注入攻擊?

發佈於2025-02-11
瀏覽:475

Is `mysqli_real_escape_string()` Enough to Prevent SQL Injection Attacks?

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