是否可以在 apache 中阻止所有以特定 URL 结尾的请求

是否可以在 apache 中阻止所有以特定 URL 结尾的请求

是否可以阻止 apache 中以特定 url 结尾的请求,例如我必须阻止所有以 ?wsdl 结尾的请求。

答案1

您的例子很容易解决,您可以使用mod_rewrite它来实现这一点:

RewriteCond     %{QUERY_STRING} "^wsdl.*$"
RewriteRule     "" "-" [F]

wsdl这将阻止以第一个查询参数名称开头的任何请求。

为了仅阻止wsdl查询字符串中任何位置的参数,正则表达式会稍微复杂一些:

RewriteCond     %{QUERY_STRING} ".*(?:^|&)wsdl(?:=|&|$)"
RewriteRule     "" "-" [F]

此配置适用于

  • ?wsdl
  • ?wsdl=某物
  • ?s1=s2&wsdl
  • ?s1=s2&wsdl=某物
  • ?s1=s2&wsdl&s3=s4

我使用过的资料来源:

相关内容