suhosin のようにセッション データを暗号化したいのですが、それを提供するライブラリはありますか?
3602 次
2 に答える
4
mcrypt またはカスタム AES 暗号化を使用して、セッション データを簡単に暗号化できます。最善の策は、変数を設定するときに変数を暗号化するセッション ラッパー クラスを作成することです。
キー管理の場合、一意のキーを作成して Cookie に保存すると、ユーザーだけが自分のセッション データを復号化できるようになります。
于 2009-11-08T14:26:01.003 に答える
1
ここに Zend Framework の実装例があります: http://www.eschrade.com/page/encrypted-session-handler-4ce2fce4/
参照のための重要な機能:
// $this->secredKey is stored in a cookie
// $this->_iv is created at the start
public function setEncrypted($key, $value)
{
$_SESSION[$key] = bin2hex(
mcrypt_encrypt(
MCRYPT_3DES,
$this->secretKey,
$value,
MCRYPT_MODE_CBC,
$this->_iv
)
);
}
public function getEncrypted($key)
{
if (isset($_SESSION[$key])) {
$decrypt = mcrypt_decrypt(
MCRYPT_3DES,
$this->secretKey,
pack(
'H*',
$_SESSION[$key]
),
MCRYPT_MODE_CBC,
$this->_iv
);
return rtrim($decrypt, "\0"); // remove null characters off of the end
}
return null;
}
于 2013-06-13T07:26:55.610 に答える