标签:
1.基于iframe实现跨域
基于iframe实现的跨域要求两个域具有aa.xx.com,bb.xx.com这种特点,也就是两个页面必须属于一个基础域(例如都是xxx.com,或是xxx.com.cn),使用同一协议(例如都是 http)和同一端口(例如都是80),这样在两个页面中同时添加document.domain,就可以实现父页面调用子页面的函数。
2.基于script标签实现跨域
script标签本身就可以访问其它域的资源,不受浏览器同源策略的限制,可以通过在页面动态创建script标签。
3.后台代理方式
这种方式可以解决所有跨域问题,也就是将后台作为代理,每次对其它域的请求转交给本域的后台,本域的后台通过模拟http请求去访问其它域,再将返回的结果返回给前台,这样做的好处是,无论访问的是文档,还是js文件都可以实现跨域。
使用ajax技术让人头痛的地方就是如何跨域,受同源策略所限不同域名包括子域名在内是无法进行AJAX请求的,随后衍生出一类技术可以通过设置document.domain实现跨域。如a.test.com和b.test.com,当两个网站通过javascript操作DOM接口 document.domain=’test.com’ 将网站的域设置为test.com后,两个网站就处于同一个域内,可以进行各种跨域操作。在开发人员方面这是很方便的跨域技术,但是在攻击者眼中这简直就是一个大后门,黑客只需要找到*.test.com下任意一个XSS漏洞,在任意一个子域名里的网页都可以跨域攻击a.test.com和b.test.com。
同源策略
AJAX同源策略主要用来防止CSRF攻击。如果没有AJAX同源策略,攻击过程如下:
我们发起的每一次HTTP请求都会全额发送request地址对应的cookie,那么
标签:
原文地址:http://www.cnblogs.com/guzhixiang/p/4697095.html