前端风暴让前端飞Web前端之路

关于同源策略你可能也有的一些疑问

2017-08-29  本文已影响79人  7天苹果

同源策略的含义详解

几个同源策略常见问题

1、没有同源策略会怎样?为什么同源策略禁止跨域读操作?

设想你打开了一个银行网站,又打开了一个恶意网站,如果没有同源策略,将会:
恶意网站包含了脚本a.js,银行网站在没有加载此脚本的情况下,就可以被此脚本操纵,操纵的后果是:

2、有了同源策略会怎样?

浏览器在执行一个js脚本(或其他脚本)前,需要对这个脚本进行同源检测,如果加载这个脚本的页面和当前页面不同源,浏览器将拒绝执行此脚本;注意,浏览器并不关心js脚本来自何方(不关心js脚本从哪个域名、哪个”源”加载),它只关心加载脚本的那个页面是否和当前页面同源;

3、为什么<script><img><iframe><link><video><audio>等带有src属性的标签可以不遵守同源策略/为什么同源策略允许跨域嵌入:

4、为什么同源策略允许跨域写操作?

和上面一条理解相同;比如提交表单这个写操作,表单不一定提交到提供网页页面的网站,很有可能提交到专门处理表单的服务器,如果不允许跨域写,将是很不灵活的;表单提交到什么地方,是编写页面时程序员决定,程序员不可能故意写一个恶意域名进去,所以写操作通常是安全的。

5、“同源”的具体含义?

网站的同源:域名、协议、端口有一个不同就不是同源,三者均相同,这两个网站才是同源;

js脚本的同源:处于同源网站上的js脚本同源,否则不同源。

上一篇下一篇

猜你喜欢

热点阅读