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

PHP 提供对自定义会话处理程序的支持:

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

于 2012-05-23T14:30:08.370 回答
0

我想我已经找到了解决问题的方法。我将使用http://php.net/manual/en/function.override-function.php覆盖与 cookie 相关的函数

谢谢大家一起思考。

于 2012-05-25T09:31:48.777 回答