2013-05-20 121 views
0

我期待为我建立的社交网站设置自动登录/'保持登录状态'。安全自动登录(保持登录状态) - 使用Cookies和PHP

有一个用户启用此功能的复选框,我计划在那里写入3个cookie,包括'autologon enabled','用SHA加密的用户名'和'用SHA加密的密码'。

美中不足的是“看起来”如果有人访问的有系统,他们可以得到的用户名和密码SHA哈希形成饼干和着淡淡技能使用这些登录的人。这是正确的吗?

关于它的思考我想,让你登录将不得不使用这样的饼干,因此很容易受到盗窃cookie的任何系统。它是否正确?

终于有无论如何我可以实现自动登录/保持我登录 - 以安全或更安全的方式?

三江源

注:Facebook的似乎要做到这一点 - 因为我在......总是登录我以为他们有一个安全的方法?假设有...

+0

(对不起我的粗鲁)** 1)**你没有在cookie中设置的密码** 2)**你甚至不使用SHA在你的数据库更何况在一个cookie,使用Bcrypt或类似的事情** 3)**如果您认真的话,请使用HTTPS。 – HamZa

+0

http://stackoverflow.com/questions/7591728/designing-a-secure-auto-login-cookie-system-in-php – Adam

+0

http://stackoverflow.com/questions/1382303/php-autologin-function-to -login-script - 以上2个链接非常有帮助:) – Adam

回答

1

如果有人在那里访问系统,他可以窃取整个用户群,所以你不应该担心盗用你的私钥。无论如何,如果你不想保留cookie中的用户信息,你可以保留会话密钥在数据库中:[user_id], [session_key], [expire_date](记录可以是多个以与不同的计算机一起使用)。 Cookie:session_key="mn2..23j"。然后你应该检查cookie是否与数据库记录匹配。

+0

此外,您可以保留'[user_ip]'或任何与计算机相关的信息,以避免与被盗曲奇的自动登录。但不要严格使用它:用户可以使用公共WiFi网点等来改变他的IP。 – Heavy