奇怪的 addslashes 返回结果。

2016-08-22 14:37:54 +08:00
 ning1022

如图。

2460 次点击
所在节点    PHP
4 条回复
yaxin
2016-08-22 15:06:32 +08:00
把双引号改为单引号
mcfog
2016-08-22 15:12:47 +08:00
首先你要知道双引号里面\0 就是\x00 , 0 字符, ascii 编码 0 。\1 、\2 同理,他们都是不可见字符,双引号里字符串的原文是这样的
[\0][\1][\2][\3]['][4][\][a]

然后这里 addslashes 对[\0]['][\]三个字符做了处理( RTFM )

所以结果是
[\][0][\1][\2][\3][\]['][4][\][\][a]

\1\2\3 都看不见,仅此而已

最后,都 2016 年了,还是别用 addslashes 了吧
ning1022
2016-08-22 15:27:26 +08:00
@mcfog 3q ,一般你都用什么函数过滤呢,主要防止注入。
mcfog
2016-08-22 15:42:16 +08:00
@ningyuqiao456 用`PDOStatement::bindValue`

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

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

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

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

© 2021 V2EX