为什么我的Cookie不安全?

时间:2015-10-05 19:02:30

标签: c# asp.net .net cookies

我正在尝试使用Cookie,并尝试使用我的网络配置文件保护Cookie。看起来如下 -

<httpCookies httpOnlyCookies="true" requireSSL="false"/>

我的CS有以下代码。我假设如果我将httpOnlyCookies设置为true它将保护我的cookie(同样,我对这个概念的理解最少,所以如果这是一个基本问题,我道歉。)

CS代码 -

 protected void btnSubmit_Click(object sender, EventArgs e)
    {
        HttpCookie cookie = new HttpCookie("UserInfo");

        cookie["username"] = txtEmail.Text;
        cookie["password"] = txtPassword.Text;

        if (txtEmail.Text != "" && txtPassword.Text != "")
        {
            Response.Cookies.Add(cookie);
        }



        Response.Redirect("WebForm2.aspx");

    }

这应该是创建cookie。我使用Chrome的cookie检查程序检查它是否安全,但只有在我将cookie.Secure设置为true时才能保证。有没有办法可以使用我的配置文件保护它?

非常感谢!

2 个答案:

答案 0 :(得分:1)

首先,您应 从不 在Cookie中存储用户凭据。在httpCookies元素httpOnlyCookies中,在请求标头中设置HttpOnly标志。 requireSSL属性确保cookie在运输时是安全的。因此,您可以设置requireSSL="true"

<httpCookies httpOnlyCookies="true" requireSSL="true"/>

查看好文章Here

答案 1 :(得分:1)

无论任何人说什么,它都不安全的最明显原因是:因为您将用户的password存储在Cookie中。不要永远这样做!