media.example.com
仅允许 H5 客户端和浏览器获取站点内容,且合法客户端均支持 Cookie
。因此需要拦截不支持 Cookie
的客户端,包括劫持了其他访客会话的爬虫。对于恶意篡改 Cookie
的客户端使用静默方式进行对抗,保持连接但不再响应请求。media.example.com
。/*
,且请求方式(Method)等于GET
的请求。配置执行处置操作为 Cookie 校验和会话跟踪,校验方式为更新 Cookie 并校验:配置项 | 说明 |
校验方式 | 更新 Cookie 并校验:对于未携带合法会话信息或者会话信息过期的请求,EdgeOne 将在响应中携带 Set-Cookie 头部创建会话,并持续更新会话信息。建议使用 GET 方式访问的路径选用此校验方式。 仅校验:EdgeOne 仅校验请求中携带的会话信息是否合法。当请求中的会话信息过期或请求未携带合法会话信息时,不会通过更新 Cookie 创建新的会话。建议使用 POST 方式访问的接口(如:注册、登录、加购等)使用仅校验方式。 |
校验结果 | 未通过 Cookie 校验的请求,根据校验结果,可按照如下方式处理: 未携带 Cookie 或 Cookie 已过期:Cookie 头部中携带的会话信息具有时效性,仅在一段时间内有效。若请求中未携带合法会话信息,或者会话信息过期时,需要更新会话信息才能通过 Cookie 校验。当客户端高频使用未携带会话信息的请求访问时,可能存在收割 Cookie 并劫持会话的风险。您可以选择未携带会话信息的请求到达指定速率时,处置来自该请求来源(客户端 IP),且未携带合法会话信息的请求。 触发阈值:您可以配置一段时间内允许的未携带 Cookie 或 Cookie 已过期可创建的会话数量上限,限制新会话的发起速率。当超过触发阈值时,将按照配置的处置方式处理。 不合法 Cookie:EdgeOne 下发的会话信息具备加密校验能力,随意篡改会话信息往往意味着恶意请求。您可以选项处置会话信息被篡改的请求。 |
会话速率和周期特征校验 | 通过 Cookie 校验的请求,根据预设速率特征,分为高风险、中风险和低风险三类。您可以为每个风险等级配置不同的处置方式,以便更有效地识别和防御恶意行为: 高风险:单个会话(对应 Cookie 头部中,相同的 EO-Bot-SessionId 值)中,每 5 分钟统计窗口超过 1000 个请求。当开启客户端行为校验后,同时校验同一客户端校验票据(对应 Cookie 头部中,相同的 EO-Bot-Token 值)在 1 分钟内重复使用超过 200 次。 中风险:单个会话(对应 Cookie 头部中,相同的 EO-Bot-SessionId 值)中,每 5 分钟统计窗口超过 500 个请求。当开启客户端行为校验后,同时校验同一客户端校验票据(对应 Cookie 头部中,相同的 EO-Bot-Token 值)在 1 分钟内重复使用超过 100 次。 低风险:单个会话(对应 Cookie 头部中,相同的 EO-Bot-SessionId 值)中,每 5 分钟统计窗口超过 100 个请求。当开启客户端行为校验后,同时校验同一客户端校验票据(对应 Cookie 头部中,相同的 EO-Bot-Token 值)在 1 分钟内重复使用超过 20 次。 |
shop.example.com
的密码重置接口 /api/password_reset
发现有大量失败的重置请求,来自大量 IP ,频率不高,且无明显 User-Agent
或者头部聚集性。因此使用主动特征识别功能,对密码重置接口 /api/password_reset
和密码重置页面 /account/forgot_password.html
加固 Bot 对抗策略,使用静默方式对抗自动化批量尝试重置密码工具。shop.example.com
。/account/forgot_password.html
。配置执行处置操作为客户端行为校验,工作量证明校验强度为高,执行方式为延迟 100ms 执行:Content-Type
为text/html
时注入 JavaScript 进行校验,其余请求会根据当前校验结果进行处置。配置项 | 说明 |
工作量证明校验 | 客户端行为校验支持工作量证明校验的强度调整。通过调整强度,可以平衡客户端的计算负载和对 Bot 的识别效果。 |
执行方式 | 用于探测的 JavaScript 代码会在整个页面加载完成后运行,同时支持延迟一定时间执行 JavaScript 探测代码。这有助于避免影响正常页面渲染,确保浏览器先加载完成页面再进行校验,从而避免影响用户访问体验。 |
校验结果 | 客户端未启用 JS(未完成检测):对于不支持 JavaScript 的客户端,或者校验未完成时发起的请求,归入此类。由于 JavaScript 校验通常需要一定时间进行,客户端在完成校验前,您可以允许一定速率的请求通过,并处置未通过校验且高频发起请求的客户端。 客户端检测超时:客户端支持 JavaScript 并已经开始校验,但是未能在 60 秒内完成校验。60 秒对于正常浏览器客户端而已足够完成客户端行为校验,而来自算力较少的 IoT 代理,则有较大概率验证超时,使用该选项可以区分处置算力较低的分布式 Bot 网络请求。 Bot 客户端:客户端成功完成了 JavaScript 校验,探测模块发现客户端运行环境异常,非正常人类通过浏览器访问。 |
本页内容是否解决了您的问题?