2

オランダではヨーロッパのプライバシー法が厳しく適用されており、クライアント データへのアクセスを許可する Cookie をコンピュータに保存してもよいかどうかについてユーザーに質問をせずに、私の会社のサイトをユーザー フレンドリーに保つためです。

私が必要としているのは、ネイティブ php セッション クラスを「上書き」して、ネイティブ クラスが phpsessid を格納する Cookie を要求する時点で、ブラウザのフィンガープリントをチェックしてそれを一致させる独自のコードをそこに配置できるようにする方法です。ネイティブ クラスの通常の動作を返すために使用できるセッション ID。

私の考えは:

テーブル sess_fingerprints フィールド: 指紋 - phpsessid

function getsessionid()
    {
    $result = $this->db->query("SELECT phpsessid 
                    FROM `sessiondatabase`.`sess_fingerprints` 
                    WHERE `sess_fingerprints`.`fingerprint` = '$userfingerprint'");
    if($result->num_rows() != 0)
        {
        return $result->row->phpsessid;
        }
    }

その時点で、ネイティブ php セッション コードは通常どおりに機能します。

だから、私の質問は: phpsession クラスの「cookie」部分だけを上書きすることは可能ですか? もしそうなら、どのように?まだ見つけていないからです。

URL などを介してセッション変数を渡すことができることは認識していますが、それは私の Web アプリケーションにとって十分に安全ではありません。

4

2 に答える 2

0

私は自分の問題の解決策を見つけたと思います。http://php.net/manual/en/function.override-function.phpを使用して、Cookie に関連する関数をオーバーライドします。

一緒に考えてくれてありがとう。

于 2012-05-25T09:31:48.777 に答える
0

PHP はカスタム セッション ハンドラをサポートしています。

http://php.net/manual/en/session.customhandler.php

于 2012-05-23T14:30:08.370 に答える