基于ssl的用户登录系统cookie

时间:2013-01-25 10:59:05

标签: php cookies login remember-me

我创建了用户登录系统,使用此功能启动会话

function sessionStart() {
    $session_name = 'sec_session_id'; // Set a custom session name
    $secure = false; // Set to true if using https.
    $httponly = true; // This stops javascript being able to access the session id. 

    ini_set('session.use_only_cookies', 1); // Forces sessions to only use cookies. 
    $cookieParams = session_get_cookie_params(); // Gets current cookies params.
    session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly); 
    session_name($session_name); // Sets the session name to the one set above.
    session_start(); // Start the php session
    session_regenerate_id(true); // regenerated the session, delete the old one. 
}

我正在使用会话cookie就像你在我上面提到的函数中看到的那样我将这些会话存储在memcached中以增强我的操作。现在我需要创建一个cookie来存储用户数据。例如我需要用户id然后我将用户ID存储在cookie中,如此

setcookie('userid','1234',time()+240000)

之后我需要用户密码和用户名以防止用户登录。但我知道我不应该在cookie中保留密码。如果我们的服务器崩溃因为使用内存缓存我们将松开所有用户session.am我对吗?那么我应该如何让用户登录...请解释一下。不需要打扰自己编写代码。

提前致谢

1 个答案:

答案 0 :(得分:0)

我建议您将客户端登录数据保存在SQL数据库中,并为SQL行提供随机salt + hash,然后将该哈希值分配给cookie。然后,您每次都只从数据库中获取信息。