Я установил setcookie на +60 на 60 секунд во время тестирования. Он не выходит из системы после истечения срока действия cookie в браузере. Срок действия файла cookie в браузере истекает и исчезает из настроек в Chrome, но я все еще вошел в систему. Надеюсь, это имеет смысл.
Это для проекта, над которым я работаю. Я пытаюсь установить срок действия файла cookie и выйти из него по прошествии некоторого времени по соображениям безопасности.
/****************User login functions ********************/
function login_user($email, $password, $remember) {
$sql = "SELECT password, id FROM users WHERE email = '".escape($email)."' AND active = 1";
$result = query($sql);
if(row_count($result) == 1) {
$row = fetch_array($result);
$db_password = $row['password'];
if(md5($password) === $db_password) {
if($remember == "on") {
setcookie('email', $email, time()+60, '/');
}
$_SESSION['email'] = $email;
return true;
} else {
return false;
}
}
} // end of function
/****************logged in function ********************/
function logged_in(){
if(isset($_SESSION['email']) || isset($_COOKIE['email'])){
return true;
} else {
return false;
}
} // functions
Мой выход из системы:
session_destroy();
if(isset($_COOKIE['email'])) {
unset($_COOKIE['email']);
setcookie('email', '', time()-60);
}
redirect("../login.php");
Не получено никаких ошибок. Он просто не делает то, что должен.