Php 有可能破解mysql\u real\u escape\u string()Htmlspecialchars()吗?

Php 有可能破解mysql\u real\u escape\u string()Htmlspecialchars()吗?,php,xss,sql-injection,mysql-real-escape-string,htmlspecialchars,Php,Xss,Sql Injection,Mysql Real Escape String,Htmlspecialchars,我在PHP代码中使用了mysql\u real\u escape\u string()和Htmlspecialchars()函数,以使其免受sql注入和XSS攻击。 有没有可能破解这些功能? 如果是的话,你能描述一下如何做到这一点,以便我可以改进我的代码 非常感谢。如果您的PHP已更新,请尝试使用mysqli或PDO和 但是为了回答您的问题,可以注入mysql\u real\u escape\u string(),但是这样做非常复杂。这里有一个防止SQL注入的第一件事是使用和准备语句。或者至少是

我在PHP代码中使用了
mysql\u real\u escape\u string()
Htmlspecialchars()
函数,以使其免受sql注入和XSS攻击。 有没有可能破解这些功能? 如果是的话,你能描述一下如何做到这一点,以便我可以改进我的代码


非常感谢。

如果您的PHP已更新,请尝试使用mysqli或PDO和


但是为了回答您的问题,可以注入mysql\u real\u escape\u string(),但是这样做非常复杂。这里有一个

防止SQL注入的第一件事是使用和准备语句。或者至少是Mysqli,因为mysql已经被弃用了,所以迁移到Mysqli非常简单,而且经过了优化


如果您使用
mysql\u real\u escape\u strings
您应该是安全的,只要您正确地转义并且在您真正需要它的地方转义,请记住,在大多数情况下,错误是人为的,而不是因为函数:p

htmlspecialchars与sql注入完全无关。这就是为什么会有m_r_e_s(),不,恶意用户无法绕过它所做的事情。现在,如果你使用addslashes,那么是的,你可以做很多事情来完全绕过你用addslashes创建的湿厕纸安全系统。类似地,m_r_e_s()与xss预防完全无关。你混淆了两种完全不同的东西。在回显html时及时使用htmlspecialchars,在输出sql时及时使用mysql_real_escape_字符串。。不要使用它们together@MarcB:我曾经遇到一个系统,它将
添加斜杠(htmlentities(m\u r\u e\u s($rata))
存储到数据库中。Cargo cult编程很痛苦。检查@dcoder:如果有办法删除99.99999%的“你永远需要的唯一php教程”页面。。。