You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Cookie传递XSRF Token?录制请求XSRF Token仅在响应头,脚本执行时不从数据库获取如何解决

如何通过Cookie传递XSRF Token
  • 服务端生成有效XSRF Token后,通过Set-Cookie响应头将Token写入客户端Cookie,可根据业务场景配置Cookie属性:同站应用设置SameSite=Lax或SameSite=Strict降低跨站泄露风险,跨站场景需配置SameSite=None+Secure;如果后续前端需要从Cookie读取Token值,不要开启HttpOnly属性;路径配置为/保证全站所有请求都能携带该Cookie。
  • 客户端发起POST/PUT/DELETE等修改类请求时,要么手动从Cookie中读取XSRF Token值,填入自定义请求头(常规为X-XSRF-TOKEN)或者请求体参数中;要么直接使用自带XSRF适配的框架(Axios、Angular等),这类框架会默认自动读取Cookie中名为XSRF-TOKEN的字段,自动注入到请求头中,无需额外开发。
  • 服务端收到请求后,校验请求头/请求体中携带的Token值,和Cookie中携带的Token值是否一致,匹配即校验通过。
响应头返回XSRF Token、执行脚本无数据库存储场景的处理方案

该场景属于无状态XSRF校验实现,Token本身通过签名、对称加密生成,服务端校验时直接验签/解密即可,不需要查询数据库,按以下步骤处理即可:

  • 脚本录制阶段,先定位返回XSRF Token的初始请求(一般为页面访问请求、登录请求),识别存储XSRF Token的响应头字段名,在脚本中新增响应提取规则,将该响应头的值提取为全局变量,比如命名为${dynamic_xsrf_token}。
  • 绝对不要硬编码录制阶段获取的固定Token,XSRF Token通常和会话绑定且有有效期,硬编码的Token执行时必然校验失败。
  • 后续所有需要携带XSRF Token的业务请求,直接把提取到的${dynamic_xsrf_token}变量填入对应请求头或者请求参数的位置即可,和Cookie中自动携带的Token天然匹配。
  • 多用户/多会话压测场景下,每个独立会话单独执行一次Token提取逻辑,不要跨会话复用Token,同时保证同一会话的Cookie全局复用,避免出现Cookie和Token不匹配的问题。

内容的提问来源于stack exchange,提问作者yazhdevi subramani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:48:02