Cookies 记住我登录-Asp脚本

Cookies 记住我登录-Asp脚本,cookies,asp-classic,login,Cookies,Asp Classic,Login,你好 我必须创建一个“Remember me login”asp脚本,阅读了许多有关此过程的脚本,并看到许多人使用它在cookie中存储用户名和密码。 在我看来这是不安全的,有些建议你不需要存储密码。您只需要用户名,如果您确保用户名已正确加密,则可以将其保存在cookie中。对于用户来说,不能篡改值是很重要的,如果用户篡改了值,服务器应该会检测到。用于生成HMAC的SHA1和用于加密的AES是常用的算法。最好不要在客户端cookie中存储用户名和密码。存储某种不透明的引用,而不是与服务器端身份验

你好 我必须创建一个“Remember me login”asp脚本,阅读了许多有关此过程的脚本,并看到许多人使用它在cookie中存储用户名和密码。
在我看来这是不安全的,有些建议你不需要存储密码。您只需要用户名,如果您确保用户名已正确加密,则可以将其保存在cookie中。对于用户来说,不能篡改值是很重要的,如果用户篡改了值,服务器应该会检测到。用于生成HMAC的SHA1和用于加密的AES是常用的算法。

最好不要在客户端cookie中存储用户名和密码。存储某种不透明的引用,而不是与服务器端身份验证数据库中的内容相匹配的引用


更好的做法是在将此值存储到cookie中之前对其进行加密。

为什么使用正确的加密会不安全?因此我必须在DB上创建一个字段,然后将此值与cookie进行比较,如果它与cookie匹配,尝试一个类似的指南。这个答案对任何问题有什么帮助?这在这个问题上是没有任何意义的,这是在你认为事实完全模糊的情况下没有任何解释的。最好使用加密的不易识别的信息(如与数据库中的用户记录关联的GUID)存储cookie。
public partial class Login : System.Web.UI.Page
{
    StudentService.Service1Client studentCleint = new StudentService.Service1Client();
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnLogin_Click(object sender, EventArgs e)
    {
        lbnLogin.Text = studentCleint.login(txtusername.Text, txtPassword.Text);

        if (lbnLogin.Text == "Succesful")
        {
            Response.Redirect("Students.aspx");

        }
        else
        {
            lbnLogin.Text = "failed";
        }
    }
}