我习惯使用单个cookie进行身份验证和授权,该cookie中包含用户ID。在每个页面上,我将检查用户是否存在此用户ID。 使用存储在客户端的单个cookie值来处理整个用户身份验证和授权是否安全? 我想根据与我的方法相关的安全问题找到答案。 我的网站是否会因使用创建假cookie而被轻易入侵?
答案 0 :(得分:0)
使用创建虚假Cookie会不会轻易入侵我的网站?
答案是肯定的。
恶意用户在您的系统中创建虚拟帐户。然后使用Chrome浏览器中编辑此Cookie 等工具更改Cookie值(用户ID)。
如果用户ID是Guid,则有点难以猜测。然而,这是一场等待发生的灾难。
由于您使用的是ASP.Net,因此最简单的将是ASP.Net Form Authentication。这是一个例子,
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
"userName",
DateTime.Now,
DateTime.Now.AddMinutes(30), // value of time out property
false, // Value of IsPersistent property
String.Empty,
FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
如果您对表单身份验证有疑问,请在Google和StackOverFlow中搜索。