← 工具目录

CORS 文本条件解释

本地处理
任务练习:分别核对预检和实际响应

使用合成JSON材料,只做本地文本推演,不输入账号、令牌或真实Cookie。

{
  "origin": "https://app.example",
  "method": "POST",
  "credentials": "omit",
  "requestHeaders": [
    "X-Demo"
  ],
  "preflight": {
    "status": 204,
    "headers": "Access-Control-Allow-Origin: https://app.example\nAccess-Control-Allow-Methods: POST\nAccess-Control-Allow-Headers: X-Demo"
  },
  "response": {
    "status": 200,
    "headers": "Access-Control-Allow-Origin: https://app.example\nAccess-Control-Expose-Headers: X-Demo-Result\nX-Demo-Result: synthetic"
  },
  "readHeaders": [
    "X-Demo-Result"
  ]
}

预期观察:预检与实际响应的所填条件满足支持子集,x-demo-result按输入可见;仍需在目标浏览器取实际证据。

JSON不完整时保留原文,按输入契约修正;省略实际响应时结果为未知,不能用预检成功代替实际响应。

完成条件:能分别记录OPTIONS和实际响应及头可见性;条件推演不代表接口授权、真实请求或业务通过。

保存CORS条件与未知项
本地处理
填写字段与支持范围

origin:浏览器序列化的HTTP(S)来源,包含协议、主机及非默认端口,不含路径或末尾斜杠。method:GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS大写方法。credentials:omit或include。

requestHeaders:全部作者设置的头名称数组;没有则填[],只填名称、不填值。Accept、Accept-Language、Content-Language、Content-Type、Range只有名称时缺头值/MIME,预检需要保持未知。Cookie/Host/Sec-*等浏览器管理头不作为作者可设置条件。

preflight和response分别填写预检、实际响应对象:status为状态数字,headers为逐行响应头文本,用JSON的\n表示换行。重复行原样保留。省略整段或字段会保留未知;不要用OPTIONS响应代替实际响应。

readHeaders是想在脚本中读取的响应头名称数组,可省略。结果只说明所填头的可见性,省略头值;Set-Cookie不会向脚本暴露。Authorization仅需名称,通配许可存在标准/浏览器差异,需明确允许后复验。

只解释所填文本,不访问输入来源、不提供网站总通过。opaque/null来源、重定向链、预检缓存、服务工作线程、私有网络策略、真实Cookie、CSRF与业务授权需另取证据。值省略不等于输入已匿名,复制或下载前请自行核对。

按浏览器证据继续排查

输入内容只在浏览器内处理,不会发送到服务端。

处理结果
等待输入填写内容后,结果会显示在这里。
数据处理输入与记录的保存方式

输入与结果在浏览器中处理,不提交至服务端。最近使用记录仅保存工具标识;需要保留结果时,请复制或下载。