业务接入Web应用防火墙(Web Application Firewall,简称WAF)后,可通过自定义响应功能,配置客户端请求被拦截或触发滑块验证时返回的响应页面,以匹配业务界面风格并提升用户体验。
工作原理
默认情况下,当客户端请求命中WAF的防护规则,且该规则动作设置为拦截、滑块或严格滑块时,WAF 将返回系统默认的响应页面。可以通过配置自定义响应功能,灵活定义以下内容:
HTTP 状态码(如 403、406、429 等)
响应头(Headers)
响应体(Body),支持 HTML、JSON 等格式
从而打造与业务风格一致的响应页面,提升用户体验。
默认拦截页面 | 默认滑块验证页面 |
|
|
适用范围
版本要求:已开通包年包月企业版、旗舰版,或按量付费版WAF实例。
配置前提:已存在防护对象(已将Web业务接入WAF),若尚未将业务接入,请参见接入概述。
支持的防护模块:除Web 核心防护规则模块外,其他所有可配置规则动作为拦截、滑块或严格滑块的模块均受支持。
接入形态限制:不支持函数计算FC,MSE需升级至xagent2.0.18版本及以上,APIG需升级至xagent2.1.13版本及以上。
操作步骤
配置响应页面
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
在响应页面配置页面,按业务需求进入拦截页面或滑块页面页签,单击新建。
拦截页面
名称:设置一个便于识别的名称。
响应码:设置客户端请求被WAF拦截时,WAF返回给客户端的HTTP状态码。取值范围:200~600。默认拦截响应码为405。不支持设置204、304、600、498。
自定义header:设置客户端请求被WAF拦截时,WAF在返回给客户端的响应中包含的Header字段。每个Header由Header名和Header值组成,最多可配置十个。
页面响应体:设置拦截响应页面的源代码。配置要求如下:
支持使用HTML、JSON等格式。
代码包含的字符长度不超过4000。
重要如需在响应页面中保留请求ID,用于通过日志服务查询被拦截的请求,请在适当位置引用
{::trace_id::}字符串。配置示例
响应码:403。
自定义header:
Header名:
Content-Type。Header值:
text/html; charset=utf-8。
页面响应体:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Request Blocked</title> </head> <body> <h1>Access Denied</h1> <p>Your request has been blocked by the security policy.</p> <p>Request ID: {::trace_id::}</p> </body> </html>
滑块页面
名称:设置一个便于识别的名称。
响应码:客户端请求命中WAF滑块规则时,WAF返回给客户端的HTTP状态码,默认为200。不支持自定义。
自定义header:设置客户端请求命中WAF滑块规则时,WAF在返回给客户端的响应中包含的Header字段。每个Header由Header名和Header值组成,最多可配置十个。默认包含如下配置,不支持修改。
Header名:
Content-Type。Header值:
text/html; charset=utf-8。
预定义或自定义样式:设置WAF返回给客户端的滑块样式。支持配置语言、图标、文案、是否透出请求ID等信息,单击预览,可查看滑块验证页面效果。
应用于防护规则或防护对象
响应页面配置完成后,可将其应用于防护规则或防护对象:
应用于防护规则:当请求命中该规则时,无论涉及哪些防护对象,均返回该规则绑定的自定义响应页面。
应用于防护对象:当请求访问该防护对象并命中任意关联的防护规则时,返回该对象绑定的自定义响应页面。
若防护规则与防护对象均配置了自定义响应页面,则以防护规则的配置为准(防护规则优先级更高)。
应用于防护规则
以自定义规则防护模块为例,在配置规则动作为拦截、滑块或严格滑块的防护规则时,支持选择已创建的自定义响应页面。具体操作,请参见在自定义规则防护模板中添加防护规则。
应用于防护对象
进入页面。
进入防护对象配置页签,定位到需配置的防护对象,单击其操作列的配置,替换默认的拦截页面或滑块页面。

