2012-09-11 239 views
0

跨域Ajax請求被拒絕,但我可以圍繞它通過這樣的:跨域AJAX請求

$(document).ready(function() { 
    var data = ...; 
    $('<img>').attr('src', 'http://domain.com?data=' + escape(data)).appendTo('body'); 
}); 

所以,如果我真的希望我可以發送數據到另一個域。我也可以通過獲得數據,但是在加載時我可以將它移動到畫布上,然後讀取像素。

那麼,什麼是在這個限制點以及它可以從保存?

+1

服務器可以拒絕GET請求的URL,使更新,要求該請求是POST請求等字樣。 – Pointy

回答

2

那麼,什麼是在這個限制點以及它可以從保存?

關鍵是要防止您的網站從遠程站點讀取數據,而不是阻止它發送數據。

例如,你不能讓我的瀏覽器去我的銀行,並獲取我的賬戶詳細信息,以便您可以將它們發送到Web服務器。

相同的原產地政策不會阻止您提交資金轉移到您的服務器的請求,但這就是爲什麼網站必須針對CSRF attacks實施防禦措施。

+0

+1,因爲你可能比我更瞭解OP的問題。 –

3

您仍然無法讀取JavaScript的時候還從另一個域的圖像的像素。所以你沒有去任何東西。

一個頁面無法操作,甚至讀的東西從另一個域來沒有服務器的協作。這可以保護用戶免受許多操作(Google XSS攻擊)。

+0

不,你不能。試試看:您的javascript無法分析來自其他域的圖片。 –

+0

使用腳本發送來自其他域的域數據的腳本?也許你的問題並不清楚:你試圖做什麼不明確允許? –

+0

你沒有證明你可以發送到你的域的數據來自未明確允許的其他域。 –