3

我正在对密码进行哈希处理,在读取会话数据时匹配用户代理,以及安全登录用户所需的一切。我对安全检索/读取会话数据的方法感兴趣。例如,我正在使用一个从会话数据数组中获取用户 ID 的函数......

在数据库表中:

a:6:{s:9:"user_data";s:0:"";s:7:"user_id";s:1:"3";s:9:"firstname";s:4:"Tina";s:8:"lastname";s:3:"Fey";s:8:"username";s:8:"lizlemon";s:6:"status";s:1:"1";}

功能(Codeigniter):

    function get_user_id()
    {
        if (is_numeric($this->ci->session->userdata('user_id'))) 
        {
            return $this->ci->session->userdata('user_id');
        }
        else
        {
            exit();
        }
    }

我只检查 id 是否为数字。即使会话数据已安全添加到数据库,我们是否应该担心检索会话数据?

4

1 回答 1

4

永远不应该编写自己的会话处理程序。使用sesion_start()$_SESSION[]超级全局。这也为使用PHP 安全会话功能打开了大门,例如 cooke_secure、http_only cookies 和 use_only_cookies。

session_start() 生成一个非常安全的会话 id,它是一个加密随机数。您可以配置 PHP 以从中提取这个值,/dev/urandom这是一个非常安全的熵池,并且可能是生成会话 id 的最佳方式。

于 2012-06-24T03:17:49.527 回答