如何在Azure App Service中阻止URL含wp-includes的请求?
Azure App Service拦截含wp-includes的GET恶意请求方案
可以通过以下几种方式实现拦截,无需额外配置网关或VNET:
方法一:利用App Service原生访问限制规则(推荐)
Azure App Service的访问限制规则支持按路径+HTTP方法组合拦截请求,步骤如下:
- 登录Azure门户,进入目标App Service的管理页面
- 左侧导航栏选择「网络」>「访问限制」
- 点击「添加规则」,设置规则优先级(数值越小优先级越高,需高于默认的允许所有规则)
- 动作选择「拒绝」
- 添加两个条件:
- 条件类型选「HTTP方法」,匹配类型「等于」,输入
GET - 条件类型选「路径」,匹配类型「包含」,输入你的目标路径(比如
/web/wp-includes或/wp-includes,根据实际请求路径调整)
- 条件类型选「HTTP方法」,匹配类型「等于」,输入
- 保存规则后,所有符合条件的GET请求会直接被拒绝,返回403状态码
方法二:通过应用配置文件添加拦截规则
根据你的应用运行时环境,修改对应配置文件实现拦截:
针对PHP/WordPress应用(.htaccess)
在网站根目录的.htaccess文件中添加以下规则:
RewriteEngine On # 拦截所有含wp-includes的GET请求,返回403 RewriteCond %{REQUEST_METHOD} GET RewriteCond %{REQUEST_URI} wp-includes [NC] RewriteRule ^ - [R=403,L]
针对ASP.NET应用(web.config)
在web.config的<system.webServer>节点下添加URL重写规则:
<rewrite> <rules> <rule name="Block wp-includes GET Requests" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_METHOD}" pattern="GET" /> <add input="{REQUEST_URI}" pattern="wp-includes" ignoreCase="true" /> </conditions> <action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Access Denied" /> </rule> </rules> </rewrite>
方法三:启用Azure Web应用防火墙(WAF)
如果需要更全面的恶意请求防护(比如拦截SQL注入、XSS等),可以将App Service关联Azure WAF(可通过Azure Front Door或Application Gateway部署),在WAF中配置自定义规则拦截含wp-includes的GET请求。此方式需额外部署WAF资源,但防护能力更强。
内容的提问来源于stack exchange,提问作者MaxDawg27
相关产品推荐
相关产品推荐

