操作
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", ... )