代码之家  ›  专栏  ›  技术社区  ›  rook

apache+php使用什么自动解码程序?

  •  1
  • rook  · 技术社区  · 14 年前

    在看医生的时候 urldecode() 我看到这张纸条:

    SuperGlobals$获取和$请求 已经解码。使用urlcode()。 在$\u get或$\u请求中的元素上 可能会有意想不到的危险 结果。

    这就是为什么get变量的值为 %26 结束是 & . 除此之外还有其他自动神奇解码程序吗? urldecode() ?也许解码是因为配置或协商才完成的?

    2 回复  |  直到 14 年前
        1
  •  3
  •   mario    14 年前

    get参数解码实际上按以下顺序工作:

    • 爆炸(爆炸) "&" ,$query_字符串)
    • 斯特罗克 "=" )从值中拆分名称
    • urldecode() 名上 价值
    • strtr(".", "_", $name) -非字母数字字符,主要从var名称中去掉(get参数&x;x.y=变为$\u get[“x _ “Y”
    • 扩展 [] array 姓名
    • addslashes() 如果启用了magic引号,则返回值-这是唯一可配置的部分

    When decoding POST parameters in multipart/form-data a charset= could be set individually for each field. But I have a hunch that PHP doesn't respect that.

    仅此而已。阿法克

        2
  •  1
  •   Mike Sherov    14 年前

    While no longer really an issue in the later builds of PHP, GET POST & COOKIES used to have quotes automatically escaped... See here for more info: http://php.net/manual/en/security.magicquotes.php