我正在尝试创建一个安全会话,所以我从http://blog.teamtreehouse.com/how-to-create-bulletproof-sessions复制了一段会话管理器
我无法使用此会话管理器登录是我的路径错误还是别的不对?
class SessionManager
{
static function sessionStart($name, $limit = 0, $path = '/', $domain = null,
$secure = null)
{
// Set the cookie name before we start.
session_name($name . '_Session');
// Set the domain to default to the current domain.
$domain = isset($domain) ? $domain : isset($_SERVER['SERVER_NAME']);
// Set the default secure value to whether the site is being accessed with
SSL
$https = isset($secure) ? $secure : isset($_SERVER['HTTPS']);
// Set the cookie settings and start the session
session_set_cookie_params($limit, $path, $domain, $secure, true);
session_start();
}
}
这是我在登录时使用该课程的时间:
SessionManager::sessionStart('test',60, '/', '.localhost', false);
我有一个条件语句,指向我登录的页面并满足这些条件。 (如果我删除上面的代码就可以正常登录)
我有一个标题可以检查每个页面以确保我的会话仍处于活动状态(如果需要,我可以发布更多代码):
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true &&
$_SESSION['ip'] == $_SERVER['REMOTE_ADDR'];)
当我只使用session_start()时,这是有效的,但出于某种原因,这个新功能并没有...