讓我們想象一下,站點A使用指向服務器B的標準腳本標記嵌入JavaScript文件。下一站點A向服務器B上的資源發出JSONP或AJAX請求。是否有服務器B明確知道特定的JSONP請求起源於站點A上的用戶,而不是其他站點上的用戶欺騙其HTTP REFERRER。有沒有一種方法可以安全地知道託管AJAX調用的始發服務器?
我認爲有可能的領域的唯一原因是因爲網站A開始與它的服務器B的javascript的嵌入溝通。從某種意義上講,這種原始通信不能作爲安全握手,使後續的通話安全通過。但是因爲握手是通過不安全的手段完成的,所以並不妨礙它作爲安全握手。
有關如何完成此任務的任何想法?我能想到的每個解決方案都被一個AJAX調用的每個元素都僞造的概念所打破。
我讀http://www.codinghorror.com/blog/2008/10/preventing-csrf-and-xsrf-attacks.html和Detecting Ajax in PHP and making sure request was from my own website但據我所知,他們專注於確保用戶的準確性而不是引用者的準確性。
這意味着客戶端將負責創建哈希值。由於我沒有控制客戶端(只有它是JS),我不需要將加密函數存儲在客戶端,因此消除了所有安全優勢。另外,它是如何幫助我驗證源自網頁的真實性,因爲握手是通過AJAX發生的?誤解問題首先是 – Nucleon 2010-11-16 16:42:45
。沒有A站點的控制,沒有安全的方式。您可以在請求中儘量減少代碼和隨機名稱。 – Lauri 2010-11-22 09:26:18