application/json-p text/json-p 已经可以实现了吗?
Posted
技术标签:
【中文标题】application/json-p text/json-p 已经可以实现了吗?【英文标题】:Is application/json-p text/json-p already implementable? 【发布时间】:2011-08-27 08:40:52 【问题描述】:我读过http://www.json-p.org/,它声明了一个更安全、更严格的 JSON-P 子集。
该提案中最关键的部分是浏览器供应商必须 开始对脚本强制执行此规则 接收 JSON-P 的标签 内容,并抛出错误(或至少 停止处理)对任何不合格 JSON-P 内容。
我的问题是 JSON-P 的那个子集已经可以实现了吗?
【问题讨论】:
【参考方案1】:不,目前没有方法来实施/强制执行所提议的内容,因为需要更改浏览器处理 script
标记的方式。如果您真的想实施该提案,您可以在您的服务器上构建一个代理服务,为您进行 JSONP 验证。
该提案试图解决的唯一真正问题是使 JSONP 请求对于启用 JSONP 的服务的消费者来说更加安全。但是,老实说,我认为这个安全问题不是问题。
只要 Web 服务消费者使用受信任的 JSONP 服务,就不存在特定于 JSONP 的安全威胁。如果您认为您正在使用的服务可能不值得信赖,请不要使用它。您可以通过自己的服务器找到替代服务或代理不可信服务来清理/验证响应。
普通的script
标签也存在与 JSONP 相同的漏洞。人们总是链接到第三方 javascript 库,几乎没有问题。例如,世界各地的人们都使用 Google 的 jQuery 副本。谷歌可以轻易地毒化这个文件并从任何使用这个库的网页中获取用户数据。
故事的寓意:只使用您信任的 API/服务
【讨论】:
以上是关于application/json-p text/json-p 已经可以实现了吗?的主要内容,如果未能解决你的问题,请参考以下文章