跨域的理解
跨域就是浏览器从一个域名的网页去请求另一个域名的资源时,域名,端口,协议任一不同。
举个例子:
甲登录了银行页面,查看自己的余额,乙此时给甲发送了一个恶意网站,甲没有退出银行页面,直接点开这个恶意网站,那么,乙可以通过向浏览器发送数据,获取浏览器的响应信息,进而获取到甲关于银行的账号密码信息。
同源策略
同源策略就是浏览器从一个域名的网页去请求另一个域名的资源时,域名,端口,协议必须一致。这样可以阻止一个页面上的恶意脚本通过页面的DOM对象获得访问另一个页面上的敏感信息的权限。以防止丢失数据机密或者完整性
判断是否同源
以 http://www.abc.com/dir/page.html 为例进行对比
对比URL | 结果 |
---|---|
http://www.abc.com/dir/page1.html | 同源 :相同的协议,主机,端口 |
http://www.abc.com/dir2/one.html | 同源 :相同的协议,主机,端口 |
https://ww.abc.com/dir/page.html | 不同源 :协议不同 |
http://ww.abcd.com/dir/page.html | 不同源 :主机不同 |