好吧,你在表单中键入用户名和密码,点击“确定”按钮。然后数据进入服务器端并检查用户数据库(如果该用户存在)。然后它返回用户ID。接下来呢? 该数据保存在Cookie中? 这是否意味着,对于每个点击的链接,网站再次登录您的网站?
我的意思是,
这是对的吗?
答案 0 :(得分:7)
Tadaa !! :)
<强>更新强>
再添加一点......
您无需在会话中存储用户密码。事实上,它非常沮丧。检查以确保会话中存在用户对象就足够了。
当用户点击退出页面时,继续使会话无效......就是这样。 :)
答案 1 :(得分:3)
几乎正确。每次请求都很少访问数据库。您通常会设置一个有效期限的cookie,并将用户会话和信息保存在内存中。因此,每次发出请求时,如果用户未经过身份验证,则对他进行身份验证,生成并向他发送一个cookie,例如5h到期。因此,在接下来的5个小时内,只要有cookie请求,您就相信该用户是经过身份验证的有效用户,您无需检查数据库。
并不是每个网站都能做到这一点,也不是管理会话和Cookie的唯一方法,但我认为它是使用最广泛的网站。
答案 2 :(得分:0)
你应该使用会话,但这几乎是它的要点。这样数据就不会意外地持续存在。
我的意思是,对于我家里的简单网站,我就是这样做的。但它仍然在本地托管,因此保证安全性是废话。
哦,无论何时点击其他链接都无需查看数据库 - 浪费了太多时间。
答案 3 :(得分:0)
通常,应用程序利用浏览器和Web服务器之间建立的会话,并记下该会话是“经过身份验证的”。 “session”是HTTP的内置功能。如果浏览器已关闭,或经过一段时间后,会话将自动关闭。如果用户执行显式注销,则应用程序会将会话标记为未经过身份验证。