【发布时间】:2023-03-10 10:56:02
【问题描述】:
在我的 Apache 配置中,当查询字符串参数包含特定值时,我想返回 403。一切正常,除非客户端查询字符串以十六进制编码。如何在不输入文字十六进制字符串的情况下使其匹配?
RewriteEngine On
RewriteCond %{QUERY_STRING} mykey=myval [NC]
RewriteRule .* - [F,L]
然后测试一下:
# Works fine, returns 403
curl -I 'http://localhost/?mykey=myval'
# Does not work, returns 200:
curl -I 'http://localhost/?mykey=%6d%79%76%61%6c'
curl -I 'http://localhost/?%6d%79%6b%65%79=%6d%79%76%61%6c'
谢谢
【问题讨论】:
标签: regex apache mod-rewrite httpd.conf