做,我有兩個網站如何知道如果一個Web請求是從特定的另一個知名網站的鏈接按鈕
1)主網站:它有一個鏈接幫助&培訓重定向用戶到另一個幫助網站。
2)幫助網站沒有認證規則,因此任何人都可以直接訪問網站。
現在我有一個要求,允許從第一個網站的鏈接訪問第二個網站,所有其他請求應該重定向到另一個頁面。
Offcourse查詢字符串/參數確認是不可接受的,因爲其可以是可見的和常數
是否有可能,任何建議表示讚賞。
做,我有兩個網站如何知道如果一個Web請求是從特定的另一個知名網站的鏈接按鈕
1)主網站:它有一個鏈接幫助&培訓重定向用戶到另一個幫助網站。
2)幫助網站沒有認證規則,因此任何人都可以直接訪問網站。
現在我有一個要求,允許從第一個網站的鏈接訪問第二個網站,所有其他請求應該重定向到另一個頁面。
Offcourse查詢字符串/參數確認是不可接受的,因爲其可以是可見的和常數
是否有可能,任何建議表示讚賞。
您可以使用http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspx,它只是HTTP引用標頭中的ASP.NET包裝。 http://en.wikipedia.org/wiki/HTTP_referrer
這當然可以被欺騙,所以不要依賴它來創建超級安全的東西。
如果您在第一個站點中爲鏈接的網址添加get參數並在第二個站點中檢查它,該怎麼辦?這當然是一個非常簡單的解決方案,可能會很快被騙。
我的建議是一樣的,但他們不接受好像任何人都知道他們仍然可以訪問第二個網站的參數。 –
嗨,你可以使用這個代碼塊從用戶來到你的網站,以確定
If Not IsPostBack Then
If Not Request.UrlReferrer.ToString() Is Nothing Then
referrer = Request.UrlReferrer.ToString()
End If
End If
...
站點2暴露了驗證「祕密」參數的webservice(可能只是一些只有site1和site2知道的長隨機字符串)。此服務會返回一個僅在很短時間內有效的唯一「令牌」。將用戶指向site2時,site1將此令牌附加到查詢字符串。 site2驗證令牌是否合法並仍然有效。一旦使用了令牌,site2不再將其視爲有效。
聽起來不錯,我會試試這個。 –