这样还能注入吗

2015 年 10 月 23 日
 jugelizi
3453 次点击
所在节点    MySQL
10 条回复
kimmykuang
2015 年 10 月 23 日
多字节注入可破,请用 pdo
lianz
2015 年 10 月 23 日
sql 拼接是注入之源,只要有 sql 拼接,就有可能注入。

PS :
我就不明白了,你们为了避免注入,费尽心思去做 sql 过滤,为什么就不直接用参数化 sql 呢????
cxbig
2015 年 10 月 23 日
如果是做开发,不要造轮子,用现有的 OOP 解决方案。
如果是做研究,不妨直接看现有解决方案的源代码。
SourceMan
2015 年 10 月 23 日
PDO 吧
bdbai
2015 年 10 月 23 日
@lianz 数据库的 escape 函数怎么样?
a591826944
2015 年 10 月 23 日
直接 PDO params bind 啊 拼接是不能过滤注入的。。这都是 古老的流派啊
lianz
2015 年 10 月 24 日
@bdbai 我就不懂为什么直接用参数化一了百了为什么你就不想用。为什么那么爱自己一个一个参数过滤,不累吗?每次更新代码都要检查一下是否有参数漏了过滤,不累?风险不高??
jugelizi
2015 年 10 月 25 日
@kimmykuang 没有啊 这是别人写的代码 我就是想知道是不是不会实现注入了,宽字节 gbk 的好像是可以 但是 utf 的不是宽字节无法形成单引号注入了啊
psusfy
2015 年 10 月 25 日
@lianz 怪只怪网上垃圾代码太多,孩子们都被带沟里去了
wizardforcel
2015 年 10 月 25 日
utf8 下面,比如`\xe9\xbb\x27`,转义的时候会变成`\xe9\xbb\x5c\x27`,然后前面三个构成一个 utf8 字符,后面那个会被单独解析。 gbk 同理。

php 下`mb_`开头的函数没有问题,但还是推荐使用参数化。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/230519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX