如何进行自动登录,将会话存储在浏览器中

时间:2011-11-01 01:22:44

标签: php session-cookies

我见过一些社交网站,如果您有一个用户帐户,当您打开浏览器并输入网址时,即使关闭计算机并重新启动,也无需输入用户名和密码即可直接进入浏览器你仍然可以自动隐藏在哪个不同的形式之前你需要登录你的登录详细信息,我认为这不仅包括会话cookie如下所示

    setcookie(session_name(), '', time()-2592000, '/');

但可能比它更复杂。假如我使用php,任何人都可以告诉我如何实现这个功能,我认为它是在服务器端完成的,对不起,如果我没有明确说明。

1 个答案:

答案 0 :(得分:1)

我所做的是,我将用户ID和/或用户名以及登录哈希值,md5(用户ID +用户名+密码)保留为Cookie。

在另一次访问时,从cookie中获取ID并根据生成的相同公式检查登录哈希。如果相同,请自动登录。

<强>全球

$randomSeperator = '!~!';

首次运行......

$hash = md5($id . $randomSeperator . $username);
setCookie('id', $id);
setCookie('username', $username);
setCookie('hash', $hash);

第二次运行......

$id/$username/$hash = $_COOKIE[][][] .... // Get all 3 cookies

if($hash == md5($id . $randomSeperator . $username) ){
// Do Autologin
}