跨域为什么是默认不允许的?

独行侠
  • 36

后端默认不允许跨域,请问为什么?有什么安全问题?

回复
阅读 586
1 个回答

为什么的原因就是你的第二个问题:会有安全问题。

主要可以分为两大类。

一是是请求跨域(如 Form 表单提交或 AJAX)。比如用户已经登录了 bank.com,那么当它访问呢某个钓鱼网站时,钓鱼网站可以直接向 bank.com 发起请求,那么这些请求能造成多大的破坏性就完全取决于 bank.com 后端的安全策略了。

二是 DOM 跨域(如 iframe 嵌套),钓鱼网站可以把 bank.com 的合法页面内嵌到自己的网站中,那么当用户在页面中完成输入等操作时,钓鱼网站可以通过 JS 等方式取得控制权。

当然了,上述问题即便浏览器不禁止跨域,通过其他手段也可以做到安全。但又有多少网站能保证自己是安全可靠的呢?浏览器的跨域策略提供了一个简单的、无需额外开发的安全功能,不是吗?

宣传栏