假设:
这是对网站一般如何运作的正确描述吗?或者我的步骤出了什么问题?
我很好奇,因为我一直在阅读像 -
这样的东西如果cookie对于安全性如此不可靠,我该如何继续保存登录信息?
我正在研究ASP.Net。我只是在尝试自己的身份验证。
答案 0 :(得分:0)
通常您创建某种令牌,对其进行加密,然后将加密的令牌放回cookie中。这就是Asp.Net Forms身份验证的工作原理。您也可以考虑伪登录。如果您有cookie,这将是您可以做某些事情的地方,但您必须登录才能做更重要的事情。例如,您可以在亚马逊上浏览推荐,但您必须登录才能订购。
答案 1 :(得分:0)
它主要取决于您存储的有关用户的信息类型,用户具有何种访问权限等。例如,是否可以在公共论坛上识别帐户?或者您是否存储地址,电话号码,信用卡信息等个人信息。?如果是后者,您将希望避免使用cookie进行持久登录。
但总的来说,你不应该只在cookie中存储一些“真实”值并检查它。我个人所做的事情(对于安全性不是 大问题的网站),是一个自定义函数,它接受IP地址并使用自定义算法将其混淆为字符串。然后使用sha1()(php)或其他东西加密字符串。然后将该加密字符串存储为cookie值。
当用户回来时,我基本上在请求IP上运行相同的自定义加密功能,看它是否与cookie值匹配。是IP地址可以更改,如果它不匹配,我提示用户实际登录并更新cookie值。