项目

概况

个人资料

操作

server.http-parseopts 选项

server.http-parseopts

HTTP 请求解析和规范化选项(自 1.4.50 版本起)

  • 启用任何 url-normalize* 选项将导致
    • 大写 %XX 百分比编码
    • 百分比编码任何不在非保留字符集或保留字符集中的字符(RFC 3986)
  • "url-normalize" => "enable"
    • 等同于 "url-normalize-unreserved" 和 "url-path-2f-decode"
  • "url-normalize-unreserved" => "enable"
    • 如果已进行百分比编码,解码非保留字符(字母数字字符 '-' '.' '_' '~')
  • "url-normalize-required" => "enable"
    • 如果已进行百分比编码,解码非保留字符和保留字符(非保留字符、分隔符、子分隔符)
  • "url-ctrls-reject" => "enable"
    • 拒绝任何百分比编码的控制字符
  • "url-path-backslash-trans" => "enable"
    • 将反斜杠转换为斜杠(如果 lighttpd 运行在 Windows 上)
  • "url-path-2f-decode" => "enable"
    • 将 %2F 转换为 /
  • "url-path-2f-reject" => "enable"
    • 拒绝 %2F
  • "url-path-dotseg-remove" => "enable"
    • 解析并移除 "." 和 ".." 路径段
  • "url-path-dotseg-reject" => "enable"
    • 拒绝 "." 和 ".." 路径段
  • "url-query-20-plus" => "enable"
    • 在查询字符串中将 %20 转换为 '+'(如果存在)
  • "url-invalid-utf8-reject" => "enable" (自 1.4.65 版本起)
    • 拒绝无效的 UTF-8 字节
  • "header-strict" => "enable"
    • 限制 HTTP 请求头中允许的字符(覆盖 server.http-parseopt-header-strict)
  • "host-strict" => "enable"
    • 限制 HTTP 请求 Host 头中允许的字符(覆盖 server.http-parseopt-host-strict)
  • "host-normalize" => "enable"
    • 规范化 HTTP Host 头(覆盖 server.http-parseopt-host-normalize)
  • "method-get-body" => "enable" (自 1.4.54 版本起)
    • 允许带有请求体的 GET 请求(默认:以 400 Bad Request 拒绝)

示例

server.http-parseopts = ( "url-normalize" => "enable", ... ) 

更新者 gstrauss 约 3 年前 · 3 次修订