Я пытаюсь создать безопасный сеанс, поэтому скопировал фрагмент кода менеджера сеансов из 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 (), но по какой-то причине с этой новой функцией это не ...