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";}

機能 (コードイグナイター):

    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[]超グローバル。これにより、cooke_secure、http_only Cookie、use_only_cookies など のPHP セキュリティ セッション機能を使用できるようになります。

session_start() は、暗号ナンスである非常に安全なセッション ID を生成します。この値を取得するように PHP を構成できます。この値/dev/urandomは、非常に安全なエントロピー プールであり、おそらくセッション ID を生成するための最良の方法です。

于 2012-06-24T03:17:49.527 に答える