点击退出时删除cookie
我正在使用下面的代码创建cookie,如何读取另一个页面中的txtusername值以及如何在单击注销时删除cookie(注销代码)。 我是编程新手请帮助。
string cookiestr; HttpCookie ck; tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now, DateTime.Now.AddMinutes(30), chkPersistCookie.Checked, "your custom data"); cookiestr = FormsAuthentication.Encrypt(tkt); ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr); if (chkPersistCookie.Checked) ck.Expires = tkt.Expiration; ck.Path = FormsAuthentication.FormsCookiePath; Response.Cookies.Add(ck);
您永远不应将密码存储为cookie 。 这是一个非常大的安全威胁。 要删除cookie,您只需要修改并使其过期。 您无法真正删除它,即将其从用户的磁盘中删除。 查看此文档 。
这是一个示例:
HttpCookie aCookie; string cookieName; int limit = Request.Cookies.Count; for (int i=0; i
您不能直接删除cookie,您必须将其设置为在当前日期之前到期:
if (Request.Cookies["clienDetails"] != null) { HttpCookie myCookie = new HttpCookie("clienDetails"); myCookie.Expires = DateTime.Now.AddDays(-1d); Response.Cookies.Add(myCookie); }
你可以在这里阅读更多相关信息。
此外,我真的鼓励你不要写自己的安全性,而是阅读asp.net会员资格 。 更安全,更易于使用。 我可以看到您的安全模型中存在许多缺陷。 将密码以明文forms存储在cookie中真的很糟糕。
编辑:您现在更改了代码,您必须执行此操作以删除cookie:
if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName); myCookie.Expires = DateTime.Now.AddDays(-1d); Response.Cookies.Add(myCookie); }
对于我来说,这对我来说不起作用,使用Chrome 69
和启用Continue where you left off
function的Continue where you left off
function。 与Firefox类似的问题。 禁用此function对我有用。
看到
上述就是C#学习教程:点击退出时删除cookie分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1028311.html