我正嘗試使用jQuery的ajax方法在不同的域上創建Web服務。在做一些研究之後,看起來它不允許這是通過設計來防止跨站點腳本。
我碰到周圍是包括這條線的工作:
$.support.cors = true;
在我的javascript代碼頂部。據我所知,這使jQuery中的跨站點腳本。
這行代碼是否會讓我的網站更容易受到攻擊?我一直聽說XSS是一個安全問題,XSS有合法用途嗎?
我正嘗試使用jQuery的ajax方法在不同的域上創建Web服務。在做一些研究之後,看起來它不允許這是通過設計來防止跨站點腳本。
我碰到周圍是包括這條線的工作:
$.support.cors = true;
在我的javascript代碼頂部。據我所知,這使jQuery中的跨站點腳本。
這行代碼是否會讓我的網站更容易受到攻擊?我一直聽說XSS是一個安全問題,XSS有合法用途嗎?
XSS不是可以在jQuery中啓用的功能。如果jQuery核心存在XSS漏洞,這將非常不尋常,但它是可能的並且其名爲DOM-based XSS。
「跨源資源共享」或CORS與XSS,但是不相同,但是如果Web應用程序存在XSS漏洞,那麼攻擊者將對該域中的所有資源具有類CORS訪問權限。簡而言之,CORS使您可以控制如何打破same origin policy,從而無需引入完整的XSS漏洞。
$.support.cors
查詢功能依賴於Access-Control-Allow-Origin
HTTP響應標頭。這個可能是的一個漏洞。例如,如果Web應用程序在每個頁面上都有Access-Control-Allow-Origin: *
,則攻擊者將具有與XSS虛擬性相同的訪問級別。要小心你在哪些頁面上引入了CORS頭文件,並儘量避免使用*
。
因此,要回答你的問題:NO一個Web應用程序就不需要,因爲周圍有SOP如CORS/JSONP /跨域代理/ access-control-origin的方式介紹了XSS漏洞。
如果你有一個簡單的GET,你只想啓用,並且你有一個網站的子域名,那麼你如何使默認訪問風格行爲在鏈接中工作。你沒有給你的理念。 –
@ kitgui.com我不知道你在問什麼或者與安全有什麼關係。 – rook
有沒有?最後。 –
它只能幫助,如果你在瀏覽器中啓用CORS但它不是由jQuery的被支持:
爲了能夠在不支持 CORS但但允許環境跨域請求跨域XHR請求(Windows小工具等), set $ .support.cors = true ;. CORS WD
僅將此屬性設置爲true不會導致安全漏洞。
當黑客能夠注入腳本代碼以將請求更改爲另一個域時,他也可以在腳本中設置此JavaScript標誌。
因此,在這個入侵點上,這個標誌設置的變化不大。
這真的沒有回答這個問題。在入侵的時候,所有的賭注都沒有了。但是這個想法是爲了防止這種情況發生。 – jpaugh
背景:http://api.jquery.com/jQuery.support/我不認爲設置*啓用*任何東西,但。它只是告訴jQuery支持什麼 –
@Pekka - 你鏈接的文檔完全相反。 –
@Alvaro通過設置該變量不會*啓用* CORS。你只是告訴jQuery你正處於一個跨域XHR請求可能的環境中。 (所以,當然,你可以在jQuery中使用它們,這很公平。) –