.Net 站點跨域問題及解決方法

1、什麼是站點跨域

瞭解跨域之前, 先了解下什麼同源策略? 百度百科: 同源策略(Same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說Web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。 同源:同一個協議, 同一個主機, 同一個端口 即同一個站點, 比如說IIS服務器, 一個站點只能綁定一個端口

那爲什麼需要同源策略的支持呢? 因爲假設你已經登陸一個站點, 服務器已經將一些敏感信息返回到了客戶端, 如果此時你的站點代碼中有一段訪問其他站點的代碼, 這段代碼又是獲取用戶的銘感信息, 又比如說用戶在訪問銀行網站,並且沒有登出。然後他又去了任意的其他網站, 剛好這個網站有惡意的js代碼,在後臺請求銀行網站的信息。因爲用戶目前仍然是銀行站點的登陸狀態,那麼惡意代碼就可以在銀行站點做任意事情。例如,獲取你的最近交易記錄,創建一個新的交易等等。那是相當不安全的. 所以同源策略是相當重要的.即如果訪問了一個站點, 那麼用戶在訪問這個站點的所有內容必須是這個站點的內容, 不允許訪問其他站點的內容.

2、爲什麼要規避跨域 先說說爲什麼要規避跨域? 假設有一個應用集羣,我們建設了一個用戶中心,該用戶中心提供一些用戶驗證的功能,如登陸校驗、權限等功能.那必須的,這個用戶中心是以站點的形式存在,而應用集羣中所有的應用必須能訪問該用戶中心站點,來校驗用戶的可用性, 但是用戶中心站點對於應用集羣中所有的應用來說都屬於外部應用,所以違反了同源策略,但是這個功能必須要實現.所以這種情況下,必須採用技術手段來規避同源策略.

3、解決方案 (1)、Jsonp技術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章