0

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

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,然后我存储像这样的cookie中的用户ID

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

之后我需要用户密码和用户名以防用户保持登录状态。但我知道我不应该将密码保存在 cookie 中。如果在我们的服务器因使用 memcache 而崩溃时不将密码保存在 cookie 中,我们将丢失所有用户 session.am我对吗?那么我应该如何让用户保持登录状态。请解释一下。无需费心编写代码。

提前致谢

4

1 回答 1

0

我建议您将客户端登录数据保存在 SQL 数据库中,并为 SQL 行提供一个随机盐 + 散列,然后将该散列分配给 cookie。然后你每次都从数据库中获取信息。

于 2013-08-05T20:13:48.850 回答