2017-01-23 45 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。如果不是,那么他们被禁用。