Php 有可能破解mysql\u real\u escape\u string()Htmlspecialchars()吗?
我在PHP代码中使用了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注入的第一件事是使用和准备语句。或者至少是
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
您应该是安全的,只要您正确地转义并且在您真正需要它的地方转义,请记住,在大多数情况下,错误是人为的,而不是因为函数:phtmlspecialchars与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教程”页面。。。