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