ning1022
V2EX  ›  PHP

奇怪的 addslashes 返回结果。

  •  
  •   ning1022 · Aug 22, 2016 · 3066 views
    This topic created in 3557 days ago, the information mentioned may be changed or developed.

    如图。

    4 replies    2016-08-22 15:42:16 +08:00
    yaxin
        1
    yaxin  
       Aug 22, 2016
    把双引号改为单引号
    mcfog
        2
    mcfog  
       Aug 22, 2016   ❤️ 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
       Aug 22, 2016
    @mcfog 3q ,一般你都用什么函数过滤呢,主要防止注入。
    mcfog
        4
    mcfog  
       Aug 22, 2016
    @ningyuqiao456 用`PDOStatement::bindValue`
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4688 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:01 · PVG 12:01 · LAX 21:01 · JFK 00:01
    ♥ Do have faith in what you're doing.