我有一段JavaScript正在發送XMLHTTPRequest到另一臺服務器(wamp服務器)上的scoket的碼頭服務器上執行。 請求被髮送到套接字,但XHR響應似乎被阻止。 我唯一的想法就是它可能是XSS(跨站點腳本)的問題。 有沒有一種方法可以爲這個特定的請求啓用跨站點腳本,還是有其他我應該做的事情? 任何幫助將不勝感激!跨站點腳本幫助?
跨站點腳本幫助?
回答
感謝球員們的迴應,但我確實發現問題出在同一起源策略上,因爲我從同一主機運行兩臺服務器,但端口號不同。 JSONP似乎可以解決問題,但我現在要嘗試使用一臺服務器來完成。
以下文章解釋了我在背景標題下的問題。 和表中的第四欄。
您無法對其他服務器進行xmlhttprequests。你有2個選項
- 通過服務器的代理everthing服務的JavaScript。
- 使用
<script>
標記可以使用該服務器上的動態生成的js將數據從其他服務器上提取出來。
哦,你可以:) IE有XDomainRequest和大多數較新的瀏覽器支持CORS。所以說你不能這樣做是錯誤的,但是說出你可以,而不提及哪些瀏覽器也是錯誤的。 – 2010-05-27 22:45:47
這聽起來是正確的。瀏覽器跨域策略阻止XHR請求到其他域。嘗試使用JSONP技術來規避這一點。
跨域策略可以很容易被繞過似乎很奇怪,但這是因爲當一個服務器公開一個JSONP接口時,這顯然是一個共同的協議。
祝你好運!
您的回覆剛剛保存了我的$$,JSONP FTMFW:P – 2010-06-11 16:35:16
看一看here,這可讓您在不使用JSONP的情況下在域邊界上公開ajax端點 - 它的純XHR頂部有一點跨域消息。
對於跨域AJAX的具體例子,看到這個http://consumer.easyxdm.net/current/example/xhr.html
順便說一句,這就是俄語版的Facebook(VKontakte等,75個+磨用戶)使用其API。
這裏是我如何發送帖子.. 函數sendInitRQ(寬度,高度){ var post =「<?xml version = \」1.0 \「 encoding = \「UTF-8 \」?>
- 1. 跨站點腳本
- 2. 跨站點腳本?
- 3. 跨站點腳本
- 4. XMLHttpRequest跨站點腳本?
- 5. 避免跨站點腳本
- 6. params.merge和跨站點腳本
- 7. 跨站點腳本預防
- 8. 跨站點腳本問題
- 9. 跨站點腳本表單
- 10. htmltextwriter和跨站點腳本
- 11. document.domain和跨站點腳本
- 12. 保護跨站點腳本
- 13. JavaScript跨瀏覽器腳本幫助
- 14. 有人可以幫助我更好地理解跨站點腳本政策
- 15. 需要幫助優化PHP腳本拉取站點測試站點名稱
- 16. 基本站點需要的CSS幫助
- 17. 跨站點腳本 - Cookie加密
- 18. 什麼是跨站點腳本
- 19. 微軟反跨站點腳本庫
- 20. 跨站點腳本攻擊XSS
- 21. 消除跨站點腳本的方法
- 22. 全局跨站點腳本操作
- 23. mysql注入和跨站點腳本 - CodeIgniter
- 24. JavaScript中的跨站點腳本編制
- 25. 如何執行跨站點腳本(XSS)
- 26. 從圖像中跨站點腳本
- 27. Fortify跨站點腳本:驗證不佳
- 28. 跨站點腳本 - 這是好嗎?
- 29. 跨站點腳本攻擊,麻煩
- 30. JavaScript - 跨站點腳本和父窗口
「請求被髮送到套接字」 - 你是如何確定的?我建議不,那根本就沒有發生。因爲這將是一個完全的安全風險。 – bobince 2010-05-26 23:27:21
我通過檢查PHP服務器上的日誌來確定這一點,在那裏我可以看到我在PHP插座上發佈了一個200。 – shane87 2010-05-27 08:58:18