【发布时间】:2015-03-02 09:44:05
【问题描述】:
Angular 网站建议在您的 JSON 前面加上 )]}'\n,以防止它们被称为 JSONP:
一个 JSON 漏洞允许第三方网站在某些情况下将您的 JSON 资源 URL 转换为 JSONP 请求。为了解决这个问题,您的服务器可以在所有 JSON 请求前加上以下字符串 ")]}',\n"。 Angular 会在将其作为 JSON 处理之前自动去除前缀。
但是引用的文章没有提到这些右括号,感觉这很容易解决(因为我的 JSONView chrome 插件已经patched 将它们去掉。为什么这不起作用“攻击者”?)。
本文建议将 JSON 包装为对象:
{"d": ["Philha", "my-confession-to-crimes", 7423.42]}
以某种方式保护你。
为什么 AngularJS 偏爱这种(奇怪的)保护,并且 它有效?我不确定如何测试它。
【问题讨论】:
标签: javascript json angularjs security