PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
Vitaljan Отправлено: 03 Июня, 2019 - 19:44:37 • Тема: session & logout • Форум: Вопросы новичков

Ответов: 9
Просмотров: 598
Разобрался! На странице авторизации (в отличие от всех остальных страниц) перед session_start не было ini_set("session.cookie_lifetime", 0);

Следует полагать, что причина была именно в этом.

Осталось разобраться, как разлогиниться на всех устройствах (при смене пароля, например).
Vitaljan Отправлено: 03 Июня, 2019 - 17:37:55 • Тема: session & logout • Форум: Вопросы новичков

Ответов: 9
Просмотров: 598
LIME пишет:
после закрытия браузера глянь что летит на сервер
есть ли куки на самом деле?
(Добавление)
вставь var_dump перед проверкой логина


Куки есть. Даже до старта сессии.
Vitaljan Отправлено: 03 Июня, 2019 - 16:59:05 • Тема: session & logout • Форум: Вопросы новичков

Ответов: 9
Просмотров: 598
Я установил ini_set("session.cookie_lifetime", 0);

В консоли expires = "N/A"
Vitaljan Отправлено: 03 Июня, 2019 - 12:08:24 • Тема: session & logout • Форум: Вопросы новичков

Ответов: 9
Просмотров: 598
LIME пишет:
у тебя на каждый запрос новая сессия стартует по 34 раза небось
покажи как логин проверяешь?


$login = getLogin();
if ($login) .......

// вынесено в отдельный php файл:
function getLogin() {
if (isset($_SESSION)) {
if ($_SESSION['login']) return true;
}
return false;
}
Vitaljan Отправлено: 02 Июня, 2019 - 16:10:46 • Тема: session & logout • Форум: Вопросы новичков

Ответов: 9
Просмотров: 598
Всем добрый день. У меня не происходит автоматическое разлогинивание после закрытия браузера. В начале каждого .php файла прописано:
<?
require "/session.php";
// продолжение кода

session.php содержит следующий код:
<?
ini_set("session.cookie_lifetime", 0);
ini_set("session.use_strict_mode", "on");
ini_set("session.cookie_httponly", "on");
session_start();
?>
Залогинивание проходит успешно.
При этом, после закрытия браузера, разлогинивание не происходит. Чтобы разлогиниться, надо выполнить session_destroy или руками почистить кукисы. В чем причина? Как добиться, чтобы пользователь не мог залогиниться навсегда?
Спасибо.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB