这样还能注入吗

2015-10-23 16:48:03 +08:00
 jugelizi
3049 次点击
所在节点    MySQL
10 条回复
kimmykuang
2015-10-23 17:37:42 +08:00
多字节注入可破,请用 pdo
lianz
2015-10-23 17:40:56 +08:00
sql 拼接是注入之源,只要有 sql 拼接,就有可能注入。

PS :
我就不明白了,你们为了避免注入,费尽心思去做 sql 过滤,为什么就不直接用参数化 sql 呢????
cxbig
2015-10-23 17:42:32 +08:00
如果是做开发,不要造轮子,用现有的 OOP 解决方案。
如果是做研究,不妨直接看现有解决方案的源代码。
SourceMan
2015-10-23 17:44:44 +08:00
PDO 吧
bdbai
2015-10-23 18:41:15 +08:00
@lianz 数据库的 escape 函数怎么样?
a591826944
2015-10-23 18:43:09 +08:00
直接 PDO params bind 啊 拼接是不能过滤注入的。。这都是 古老的流派啊
lianz
2015-10-24 11:00:42 +08:00
@bdbai 我就不懂为什么直接用参数化一了百了为什么你就不想用。为什么那么爱自己一个一个参数过滤,不累吗?每次更新代码都要检查一下是否有参数漏了过滤,不累?风险不高??
jugelizi
2015-10-25 10:49:41 +08:00
@kimmykuang 没有啊 这是别人写的代码 我就是想知道是不是不会实现注入了,宽字节 gbk 的好像是可以 但是 utf 的不是宽字节无法形成单引号注入了啊
psusfy
2015-10-25 11:44:27 +08:00
@lianz 怪只怪网上垃圾代码太多,孩子们都被带沟里去了
wizardforcel
2015-10-25 18:04:31 +08:00
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