1

定义

同源(同域)指的是三个相同:协议,域名,端口

第一:如果是协议和端口造成的跨域问题“前台”是无能为力的,(只能通过后台实现)
第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会根据域名对应的IP地址是否相同来判断。
“URL的首部”可以理解为“协议, 域名 和 端口 必须匹配”。

clipboard.png

目的

为了保证用户信息的安全,防止恶意网站窃取数据
Cookie 往往用来保存用户的登录状态,如果用户没有退出登录,其他网站就可以冒充用户,为所欲为。因为浏览器同时还规定,提交表单不受同源政策的限制
所以同源策略非常重要,不然cookie可以共享,互联网没有安全可言。

限制范围

非同源:

  1. Cookie(window.domain)

  2. LocalStorage(window.postMessage)和IndexDB无法读取

  3. DOM无法获取(iframe和window.open打开的窗口)(window.domain)(window.postMessage)

  4. AJAX请求不能发送


规避限制一:Cookie
采用document.domain

规避限制二:iframe
采用document.domain

规避限制三LocalStorage
采用window.postMessage方法

规避限制四:AJAX
同源政策规定,AJAX请求只能发给同源的网址,否则就报错。
除了架设服务器代理(浏览器请求同源服务器,再由后者请求外部服务),有三种方法规避ajax限制。
JSONP
WebSocket
CORS

跨域方法

详见跨域方法(个人整理版本)


时间冒泡
101 声望4 粉丝

在路上。


引用和评论

0 条评论