2017-01-23 58 views
0

我正在創建一個安全意識(偏執狂)的人可能會阻止Cookie,甚至認證cookie的網站。如何使用ASP.NET MVC(或Core)來檢測並重定向無Cookie會話?

我想檢測這種情況下,並重定向到一個描述corresponding risks with cookieless sessions.

+0

無cookie會話意味着您的用戶不應該有任何cookie!如果任何頁面調用在響應中創建了一個cookie,那麼如果在客戶端上設置了cookie,您應該能夠在頁面加載時檢查ajax調用。 ...並且遵循你的邏輯 –

回答

0

你混合術語一個FAQ /幫助頁面,所以這是你在說什麼有點不清楚。會話無論是否爲無Cookie。如果您在ASP.NET中使用無Cookie會話,則每個會話都是無Cookie的。因此,向用戶警告他們被迫使用的內在安全風險是毫無意義的。如果你沒有使用無Cookie會話,那麼每個會話都需要一個cookie,並且再次向用戶警告某些甚至不適用於他們的內容是毫無意義的。

這裏唯一有意義的是要求會話cookie(沒有無cookie會話),然後在沒有啓用cookie的情況下通知用戶他們將無法利用需要cookie的網站部分(經過身份驗證地區和其他地方,你可能會利用會議)。要做到這一點,您可以使用JavaScript來檢測餅乾是否通過navigator.cookieEnabled啓用,或者你可以通過做服務器端:

  1. 設置一個cookie,或者簡單的東西到會話(這將需要一個cookie設置)
  2. 重定向
  3. 檢查先前設定的cookie或會話數據

如果重定向後存在,則啓用了Cookie。如果不是,那麼他們被禁用。