application/json -p text/json-p是否已经可以实现?

Pac*_*ier 8 javascript json jsonp web-services

我已经阅读了http://www.json-p.org/,其中列出了更安全,更严格的JSON-P子集.

此提议中最关键的部分是浏览器供应商必须开始对接收JSON-P内容的脚本标记强制执行此规则,并对任何不符合要求的JSON-P内容抛出错误(或至少停止处理).

我的问题是JSON-P的子集是否已经可以实现?

Pol*_*878 4

不,当前没有方法来实现/强制执行所提议的内容,因为浏览器处理方式的变化script需要更改浏览器处理标签的方式。如果您确实想实施该提案,您可以在您的服务器上构建一个代理服务,该服务为您进行 JSONP 验证。

该提案试图解决的唯一真正问题是使 JSONP 请求对于支持 JSONP 的服务的消费者来说更加安全。然而,老实说,我认为这个安全问题不是问题。

只要 Web 服务使用者使用受信任的 JSONP 服务,就不存在 JSONP 特定的安全威胁。如果您认为您正在使用的服务可能不值得信赖,请不要使用它。您可以找到替代服务或通过您自己的服务器代理不可信的服务来清理/验证响应。

JSONP 存在的相同漏洞也存在于普通script标签中。人们一直链接到第三方 JavaScript 库,几乎没有什么问题。举个例子,世界各地的人们都在使用 Google 的jQuery副本。谷歌可以很容易地毒害这个文件,并从使用这个库的任何网页中获取用户数据。

这个故事的寓意:只使用您信任的 API/服务