【问题标题】:Non-printable characters in http request message bodyhttp 请求消息正文中的不可打印字符
【发布时间】:2018-03-12 10:28:15
【问题描述】:

假设某人(攻击者)发送一个 http 请求,其中一个 http 消息正文包含一个字符串 asdf 和一个 BACKSPACE 字符 (\x08)。

PHP 如何看待这个请求?是 asd 还是 asdf\x08

在验证来自 html 表单的用户输入时,我是否应该始终测试并删除不可打印的字符?

【问题讨论】:

  • 最佳实践是测试所有用户输入。

标签: php validation http-headers


【解决方案1】:

我的问题的答案:PHP 字符串只是字节数组,不知道如何将这些字节转换为字符。因此,如果用户通过 POST 方法发送退格字符或其他控制字符,这些控制字符的所有字节都会被保留。当输入字符串被发送到试图解释这些字符的应用程序时,这些字符可能会构成安全威胁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-22
    • 2017-01-27
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多