我想将敏感的用户信息存储在一个对象中,该对象将作为文件保存在服务器上(而不是在数据库中)。
用户的密码或其他密钥将用于生成加密密钥。
每当用户登录并提供正确的密钥时,将从服务器加载数据对象,然后将其存储在会话中。所有这一切都会发生在其他 SSL 上。
我不熟悉序列化,但我想它会像这样工作。
function loadData($id, $key)
{
//open file from storage
$fh = fopen("data/" . $id);
$obj = fh->read //not sure what the read function would be....
$obj = decrypt($obj, $key) // some sort of decryption function using openssl_decrpt
$obj = unserialize($obj
if ($obj != null) //if successful...
{
session_start();
$_SESSION['data'] = $obj;
return true;
}
return false;
}
function saveData($id, $key)
{
//open file from storage
$fh = fopen("data/" . $id);
$obj = serialize($_SESSION(["data"]);
$obj = encrypt($obj, $key);
$obj = serialize($obj
if ($obj != null) //if successful...
{
fh->write($obj) //not sure what the write function would be....
return true;
}
return false;
}
另外,这种方法安全吗?