我正在使用asp.net(4.0)网站。我试图使用表单身份验证()。显然试图让一些页面安全。我理解安全性的最佳解决方案是设置cookieless =“UseCookies”,这样就不会将id写入URL。
我的问题是当我使用cookieless =“UseCookies”时究竟发生了什么。
(我显然试图避免写入URL和客户端cookie - 不确定是否可以避免所有这些)
所以我想我们所有人都只是想建立适当的安全应用程序,如果有人得到任何其他建议,我将非常感激。
坦克很多,
答案 0 :(得分:0)
如果你允许cookie,所以设置cookieless =“false”,sessionID将存储在cookie中,并且在会话的整个过程中都可以访问(默认情况下是20分钟。)
如果您允许使用Cookie并且用户将在浏览器中禁用Cookie,则sessionID将不会存储在任何位置,并且每次用户创建新请求(通过转到另一个页面)时,他都会获得新的sessionID,因此没有数据可以被保存。
您可以使用cookieless =“true”来加密并将sessionID附加到网址,这样即使他的Cookie已启用,用户也可以保留会话。
还有一个cookieless =“AutoDetect”,它将确定用户是否禁用了cookie或启用了cookie,并且基于此将创建带有sessionID的cookie或将其扔到URL。这样做的缺点是,对页面的每个请求都会产生3个请求,一个请求确定用户是否启用了cookie,使用第一个请求的结果附加查询字符串,第三个请求将用户带到适当的URL。
还有一个设置可以根据浏览器的数据关闭和打开cookie。因此,如果有人用10年前的手机浏览您的页面,它可能会将cookie附加到URL,因为没有选项允许在该设备上使用cookie。
我希望这会有所帮助。我个人会告诉用户启用cookie,甚至不担心其他情况,但有些人(例如我的老板)不喜欢这个想法,并希望每个人都支持。