同源策略

定义

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

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

clipboard.png

目的

为了保证用户信息的安全,防止恶意网站窃取数据
Cookie 每每用来保存用户的登陆状态,若是用户没有退出登陆,其余网站就能够冒充用户,随心所欲。由于浏览器同时还规定,提交表单不受同源政策的限制
因此同源策略很是重要,否则cookie能够共享,互联网没有安全可言。浏览器

限制范围

非同源:安全

  1. Cookie(window.domain)服务器

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

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

  4. AJAX请求不能发送post


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

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

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

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

跨域方法

详见跨域方法(我的整理版本)

相关文章
相关标签/搜索