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