2012-06-06 51 views
0

我在看一些facebook XHR請求。我看到,存在着交叉域的請求,並且響應是象JSON:XHR JSON響應開始於

for (;;); {/* JSON object */} 

爲什麼該響應與開始??? 我認爲這是涉及到一些安全原因,有人能解釋我嗎?
謝謝

回答

1

這樣做是爲了防止XSS。

如果惡意網站在<script>標記中包含該JSON網址,瀏覽器將凍結。
實際的客戶端網站可以刪除前綴;其他網站不能,因爲同源政策。

+0

好的,因此,使用CORS,您可以使用正常的XHR請求調用此JSON,但如果嘗試使用腳本標記將其包含在頁面中,瀏覽器將凍結。這是對的嗎? – rascio

+0

正確,但CORS與它無關。 – SLaks

+0

爲什麼不呢?請求來自_http://facebook.com_ to _http://0-staging.channel.facebook.com_並使用W3C的CORS文檔(Access-Control-Allow-Origin)中指定的標頭。對不起,我正在研究這個東西,我很好奇跨域的所有問題...... – rascio