有人可以从PHP手册中了解这两个函数之间的差异
addslashes:在需要在数据库查询中引用的字符之前返回带反斜杠的字符串.这些字符是单引号('),双引号("),反斜杠()和NUL(NULL字节).
mysql_real_escape_string:mysql_real_escape_string()调用MySQL的库函数mysql_real_escape_string,它将反斜杠添加到以下字符:\ x00,\n,\ r,\,',"和\ x1a.
从我收集到的主要区别是\ x00,\n\r\x1a,其中addlashes无法逃脱,你能告诉我这是什么意义吗?
谢谢
为什么我们需要特定于数据库的函数,如mysql_real_escape_string()?它能做什么,addslashes()不是吗?
暂时忽略参数化查询的优越替代方案,是一个使用addslashes()的webapp,它仍然容易受到SQL注入的攻击,如果是,如何?
我正在查看文档并偶然发现mysql_real_escape_string(),我不明白为什么它只是在addslashes()时才有用.有人能告诉我一个有用的原因吗?
我也很好奇它为什么需要数据库连接....这似乎是很多开销.
可能重复:
如何防止SQL注入?
我正在我的网站上建立一个评论系统,我想知道这是否保存.我使用PHP和MySQL. - 不要使用下面的代码,这是非常不安全的 -
创建新评论:
阅读评论:
系统应该安全,不受HTML操作和MySQL注入的影响.还有我不知道的所有其他讨厌的东西.我做得对吗?
奖金问题:我应该在我的MySQL表格中使用什么排序规则进行$注释?
编辑:哇我不认为我的问题会导致这个大讨论.谢谢你的所有答案:)