Skip to content

fix(enshan): avoid WAF 521 by not forcing Accept/UA#572

Open
desicend wants to merge 2 commits intoSitoi:mainfrom
desicend:fix/enshan-521
Open

fix(enshan): avoid WAF 521 by not forcing Accept/UA#572
desicend wants to merge 2 commits intoSitoi:mainfrom
desicend:fix/enshan-521

Conversation

@desicend
Copy link

@desicend desicend commented Feb 18, 2026

背景

right.com.cn 近期有 WAF 行为;实测在某些 User-Agent/Accept 组合下会返回 521(即使 cookie 正确)。

变更

  • 不再在 Session 级别强制设置 UA/Accept,避免触发 WAF 的特征匹配。
  • GET 页面请求显式带浏览器常见的 Accept: text/html,...,用于拉取签到页并解析 formhash / 个人积分页。
  • 签到 POST 仅保留必要的 X-Requested-With: XMLHttpRequest,其余交给 requests 默认行为。

影响范围

仅影响 enshan(恩山无线论坛)模块的请求头策略;不引入新依赖,不改变业务流程。

风险

  • 如果站点后续强依赖某些 header(如严格要求 JSON Accept),可能需要再加回;目前以最小 header 集合优先。

@desicend desicend closed this Feb 18, 2026
@desicend desicend reopened this Feb 18, 2026
@desicend
Copy link
Author

补充说明:这个 PR 的目标是规避 right.com.cn 的 WAF 误判(521),所以尽量避免在 Session 级别固定 UA/Accept 之类的“特征化”请求头。

这次我也把 POST 的 headers 收敛到最小集(只保留 X-Requested-With),以及把积分页 URL 的 /FORUM/ 统一为常见的小写 /forum/,以减少不必要的差异与潜在兼容性问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant