小编sna*_*ieT的帖子

为什么跨域JSONP安全,但跨域JSON不是?

我在连接最近学过JSONP的点时遇到了麻烦.这是我的理解:

  • 由于相同的原始策略,禁止任何内容(包括JSON)的跨域XmlHttpRequests.这可以防止XSRF.
  • 你被允许有一个带有src的脚本标签,它返回JSONP - 在调用Javascript函数(比如说'Foo')中填充了一些JSON
  • 您可以在返回JSONP数据时调用的页面上执行'foo',并且可以使用传递函数的JSON数据执行操作

如果它是通过JSONP接收的,那么为什么接收跨域数据是可以的,但如果它来自JSON则不行?

是否存在JSON容易允许XSRF但JSONP不允许的假设?如果是这样的话,除了JSONP之外,还有其他任何理由不能提供支持XSRF的数据 - 事实上的数据格式吗?为什么JSONP而不是XML上的一些任意根标记呢?

提前感谢您的回答,请在未能弄清楚这一点之后让我的大脑再次运作.

jsonp cross-site same-origin-policy

26
推荐指数
2
解决办法
4821
查看次数

标签 统计

cross-site ×1

jsonp ×1

same-origin-policy ×1