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

API返回实际数据前出现垃圾字符,JSON前追加)]}'是什么原因?

产生原因
  • 这是Web领域普遍使用的JSON劫持防护手段,并非你方应用独有。
  • 攻击场景下,第三方恶意站点可通过<script>标签引入你方的JSON接口返回内容,利用JS语法特性窃取接口返回的敏感数据。在JSON内容前追加)]}'这类无法被正常解析的前缀后,恶意站点引入该内容时会直接抛出JS语法错误,无法获取到有效数据,进而实现防护效果。
  • 不少前端框架(如Angular)默认自带该类前缀的自动剥离逻辑,常规开发场景下开发者很少会感知到该机制存在。
处理思路
  • 前端处理:接收响应后先校验内容前缀,匹配)]}'则截取掉前缀后再执行JSON解析即可,参考实现:
function parseSecurityJson(resText) {
  const unsafePrefix = ")]}'";
  if (resText.startsWith(unsafePrefix)) {
    resText = resText.slice(unsafePrefix.length);
  }
  return JSON.parse(resText);
}
  • 后端处理:如不需要该安全机制,可查找当前使用的Web框架的JSON响应安全配置项,关闭前缀追加逻辑即可,注意关闭后会存在JSON劫持安全风险,非必要不建议操作。
  • 调试工具适配:使用Postman、Apifox等接口调试工具时,可配置响应预处理脚本自动剥离前缀,无需每次手动修改内容后再格式化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:24:03