在.htaccess中使用特定正则表达式阻止含特定查询字符串的请求
用.htaccess拦截特定格式的查询字符串请求
可以通过Apache的mod_rewrite模块在.htaccess文件中实现拦截,针对你给出的请求格式(查询字符串为4位大小写字母/数字=4位大小写字母/数字),可以用以下规则:
RewriteEngine On # 拦截精确匹配指定格式的查询字符串请求 RewriteCond %{QUERY_STRING} ^[A-Za-z0-9]{4}=[A-Za-z0-9]{4}$ RewriteRule ^ - [F]
规则说明:
RewriteEngine On:启用mod_rewrite模块RewriteCond %{QUERY_STRING} ^[A-Za-z0-9]{4}=[A-Za-z0-9]{4}$:匹配查询字符串的格式,确保是精确的4位字母/数字参数名 + 等号 + 4位字母/数字参数值,没有其他额外参数^和$确保查询字符串完全匹配该格式,避免误拦截包含其他参数的合法请求[A-Za-z0-9]{4}匹配任意4位大小写字母或数字
RewriteRule ^ - [F]:对符合条件的请求返回403 Forbidden(禁止访问)
如果需要拦截包含该格式查询字符串的请求(即使还有其他参数),可以把正则调整为:
RewriteCond %{QUERY_STRING} .*[A-Za-z0-9]{4}=[A-Za-z0-9]{4}.*
内容的提问来源于stack exchange,提问作者behnam bahadori
相关产品推荐
相关产品推荐

