我目前正在开展一个小小的即时通讯项目。到目前为止,一切进展顺利。
唯一的问题是安全性。当有人登录时,会设置2个cookie。
1) Name: loggedin; Value: {username}
2) Name: mvc; Value: {userSecretKey} <-- pretty useless
这些是我使用的Cookie,因此我可以设置下一页。但是,我相信有更好的方法可以做到这一点。不,我不想使用会话,因为我有一个“记住我”的功能。
有人可以自己设置Cookie并“登录”而无需实际登录。
什么是更好的方法来设置它?也许是某种改变的关键?
答案 0 :(得分:1)
我建议使用PHP会话以及纯粹用于记忆我功能的cookie。您可以这样设置:
干杯!
答案 1 :(得分:0)
即使使用“记住我”功能,您仍然可以使用PHP会话。您只需要使用用户标识或用户名设置cookie,然后,如果他们没有登录并且cookie存在,请从cookie中读取他们的信息并将其登录。
让您的逻辑检查用户是否已登录,检查登录用户的活动会话。如果它不存在,请重定向用户登录。在登录逻辑中,检查是否设置了“记住我”cookie。如果是,请使用cookie记录用户。如果cookie不存在,请以登录形式显示。
对于安全位,您可以使用在您登录用户时重置的密钥。它是否会被劫持,是的,但如果您不断更改密钥/令牌,则劫持窗口应该很小。< / p>