【发布时间】:2011-11-15 14:51:27
【问题描述】:
我读了一些关于如何保护会话的内容,我决定将 session_id 保存到数据库中,然后在加密后将其保存到会话变量中。
这是我用于加密的类(由 Orielly 书籍作者编写):
Encrypted class using session_set_save_handler
我是这样应用的:
ini_set('session.use_only_cookies',true);
//calls the session class.
require_once(dirname(__file__)."/../../Administrator/secure_session.php");
session_start();
if( !isset($_SESSION['mod']) )
{
Moderator::insert_moderator($name,session_id());
$_SESSION['mod']= session_id();
$_SESSION['time']=time();
echo "<br/>Moderator session: ".$_SESSION['mod'];
}
这是被抛出的异常:
致命错误:未捕获的异常“异常”,消息“我无法生成安全的伪随机密钥。请在 C:\xampp\htdocs\PoliticalForum\Administrator\secure_session.php:74 中使用 PHP >= 5.3 或 Mcrypt 扩展名 堆栈跟踪:#0 C:\xampp\htdocs\PoliticalForum\Administrator\secure_session.php(107): SecureSession->_randomKey(32) #1 [内部函数]: SecureSession->open('C:\xampp\htdocs...', 'PHPSESSID') #2 C:\xampp\htdocs\PoliticalForum\StoredProcedure\User\ headerSite.php(43): session_start() #3 C:\xampp\htdocs\PoliticalForum\mainHome.php(14): include_once('C:\xampp\htdocs...') #4 {main} 在 C 中抛出:\xampp\htdocs\PoliticalForum\Administrator\secure_session.php 在第 74 行
我做错了什么,我该如何解决这个问题,因为我不太了解加密!
【问题讨论】: