V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ning1022
V2EX  ›  PHP

奇怪的 addslashes 返回结果。

  •  
  •   ning1022 · 2016-08-22 14:37:54 +08:00 · 2315 次点击
    这是一个创建于 2797 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如图。

    4 条回复    2016-08-22 15:42:16 +08:00
    yaxin
        1
    yaxin  
       2016-08-22 15:06:32 +08:00
    把双引号改为单引号
    mcfog
        2
    mcfog  
       2016-08-22 15:12:47 +08:00   ❤️ 1
    首先你要知道双引号里面\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
        3
    ning1022  
    OP
       2016-08-22 15:27:26 +08:00
    @mcfog 3q ,一般你都用什么函数过滤呢,主要防止注入。
    mcfog
        4
    mcfog  
       2016-08-22 15:42:16 +08:00
    @ningyuqiao456 用`PDOStatement::bindValue`
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5178 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:27 · PVG 17:27 · LAX 02:27 · JFK 05:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.