我的Web应用程序的主页有一个RememberMe复选框.如果用户选中,我会将邮箱ID和密码存储在Cookie中.这是我的代码:

if (this.ChkRememberme != null && this.ChkRememberme.Checked == true)
   {
     HttpCookie cookie = new HttpCookie(TxtUserName.Text, TxtPassword.Text);
     cookie.Expires.AddYears(1);
     Response.Cookies.Add(cookie);
   }

我想知道的是:

  • 在cookie中存储密码安全吗?
  • 这样做的正确方式是什么?
  • 设置cookie时间的最佳实践是什么?

推荐答案

将密码存储在Cookie中是不安全的,因为它们是以纯文本形式提供的.

关于cookie,一个很好的答案是Cookie Central.,因为会员通常使用一个名为"token"的长字符串的cookie,当你提供用户名和密码时,它会从网站上发布.更多关于这个过程的信息可以在这article页找到.

FormsAuthentication.SetAuthCookie(userName, isPersistanceCookie);

第二个参数用于"记住我"功能-如果为真,它将创建在您离开站点后持续存在的持久cookie.您还可以通过编程方式操作Cookie,如下所示:

HttpCookie authCookie =
  HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

Asp.net相关问答推荐

如何在 C# 中生成一个随机的 10 位数字?

IIS HTTP 错误 500.19

将 NUnit 添加到 ASP.NET MVC 测试框架的选项中

如何在 ASP.NET WebForms 中实现 TDD

带有 Web 套接字的 SignalR

jquery 1.9.0 和 modernizr 无法使用 ASP.NET Web 优化框架进行缩小

有没有办法在外部 javascript 文件中使用<%= someObject.ClientID %>?

__doPostBack 未定义

System.Web.HttpContext 无法识别

System.Linq.Dynamic 不支持 OrderByDescending("someColumn")?

如何配置 ASP.NET Core 1.0 以使用本地 IIS 而不是 IIS Express?

存在 ios 7 虚拟键盘时,div 元素不会停留在底部

使 Web.config 转换在本地工作

如何忽略身份框架的魔力,只使用 OWIN 身份验证中间件来获取我寻求的声明?

哪个控件导致了回发?

ASP.NET:在 Response.Redirect(...) 之后代码会发生什么?

ASP.NET 核心,更改未经授权的默认重定向

DropDownList 的 SelectedValue 与 SelectedItem.Value

ASP.Net 哪个用户帐户在 IIS 7 上运行 Web 服务?

从服务器下载 ASP.NET 文件