如果我使用的是.NET WebBrowser控件,並且我動態地填充了HTML,JS內容,那麼AJAX跨域請求的規則究竟是什麼?我知道我在技術上沒有域名,因爲它是本地內容,但我不確定瀏覽器如何處理這個問題。動態本地內容的跨域AJAX請求的規則是什麼?
0
A
回答
1
首先,確保你知道你在做什麼以及XSS攻擊的可能性。它可能有跨域AJAX與<script>
標籤與一些服務器端的修改雖然,例如我用這個:
var AjaxFunctId = 0
var DAjaxFuncts = {}
function CrossDomainAjax(URL, Query, Callback) {
AjaxFunctId += 1
var script = document.createElement('script')
script.type = 'text/javascript'
script.defer = true
if (Query) Query = Query+'&'
script.src = URL+'?'+Query+'Callback=DAjaxFuncts['+AjaxFunctId+']'
var head = document.getElementsByTagName('head').item(0)
head.appendChild(script)
var Fn = DAjaxFuncts[AjaxFunctId] = function(Rtn) {
Callback(Rtn)
head.removeChild(script) // Clean up!
delete DAjaxFuncts[Fn.id]
}
Fn.id = AjaxFunctId
}
如:
CrossDomainAjax('http://127.0.0.1/MyURL', 'myparam=myvalue&myparam2=myvalue2', MyFunction)
在功能Callback
參數添加Callback
參數請求到本地服務器,因此你需要服務器輸出:
CALLBACK ID(AJAX DATA)
所以該函數可以訪問 數據。
0
我知道我在技術上沒有域名,因爲它是本地內容,但我不確定瀏覽器如何處理這個問題。
那麼你的'域'將是'本地主機','0.0.0.0','127.0.0.1'或你在瀏覽器中輸入的任何內容。相同的規則適用於任何「真實」域:沒有對其他域的請求(只有少數例外)。
沒有.NET特定的AFAIK。
相關問題
- 1. ExtJS4 AJAX請求是跨域
- 2. 什麼是跨域請求/跨域攻擊/跨域協議
- 3. 跨域Ajax請求
- 4. 跨域Ajax請求
- 5. 跨域AJAX請求
- 6. AJAX跨域請求
- 7. 跨域的jQuery Ajax請求
- 8. jQuery的Ajax跨域請求
- 9. 本地文件的跨域請求
- 10. 的Ajax跨域請求非控制域
- 11. 跨域ajax請求基本認證
- 12. Shopify API跨域Ajax請求
- 13. 跨域請求和jQuery/AJAX
- 14. AJAX跨域請求IE 8+
- 15. 跨域Ajax獲取請求
- 16. 跨域ajax請求問題
- 17. 跨域AJAX請求頭
- 18. 限制跨域Ajax請求
- 19. jQuery ajax跨域請求
- 20. Syncrhonous跨域AJAX請求
- 21. Ajax跨子域請求?
- 22. 本地主機上的IE跨域ajax請求
- 23. jquery跨域ajax請求總是錯誤
- 24. cURL - HTTP請求的內容是什麼?
- 25. Firefox插件中的內容腳本和跨域請求
- 26. 跨域請求 - 執行所有腳本的頁面內容
- 27. 是否可以在iframed內容中進行跨域的ajax請求?
- 28. AJAX:加載內容跨域
- 29. 跨域對Amazon S3的AJAX請求
- 30. jQuery的Ajax請求跨域不IE6