beshot
21.11.2014 - 06:39
Всем доброго дня!
Делаю session_start(), браузер сохраняет в куках PHPSESSID со сроком действия "пока открыто окно", авторизуюсь. Перезапускаю браузер, PHPSESSID старый и естественно сессия поднимается. Это нормально? Проверял в Хроме, ФФ, Опере везде одинаково. Может кто-нибудь объяснит как должно быть?
inpost
21.11.2014 - 07:24
beshotАбсолютно нормально

Возможно ты имел ввиду "запомнить меня". Если тебе надо как раз запоминать, то в куки и в БД записывай двусторонний ключ (hash) для автоавторизации. К примеру если у пользователя отсутствует авторизация на сайте, то ты проверяешь наличие ключа (нескольких ключей для безопасности: hash + id + ip), если пользователь существует с такими ключами, то авторизируешь его заново используя эти данные, а не из формы логин-пароль. Сохранять эти данные надо в случае установленной галочки "запомнить" при авторизации на сайте.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
beshot
21.11.2014 - 07:34
Нет, мне как раз и не нужно "запомнить меня", хотелось чтобы браузер после закрытия/открытия окна не признавал этого пользователя. Даже если последний не делал завершение сессии намеренно.
И если определяется время действия PHPSESSID "до закрытия окна", то непонятно о чем речь?
1. Время жизни куки надо устанавливать в ноль.
2. Браузер надо полностью закрывать, а не окно.
beshot
21.11.2014 - 08:55
ini_set('session.cookie_lifetime', 0);
об этом речь?
Invis1ble
21.11.2014 - 09:46
beshotкакое-то время назад (порядка 1.5-2 лет) в Хроме появилась такая багофича
наверное и в других также сделали, не пользуюсь ими просто
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
beshot
21.11.2014 - 16:04
багофича значит, любопытно.
похоже на то, иначе как еще трактовать: "Срок действия истекает: При завершении сеанса браузера".
killer8080
21.11.2014 - 16:30
Цитата (Invis1ble @ 21.11.2014 - 08:46) |
beshot какое-то время назад (порядка 1.5-2 лет) в Хроме появилась такая багофича наверное и в других также сделали, не пользуюсь ими просто |
хм а действительно в новых ФФ и Хроме такой баг, только старушка 12-ая опера правильно с куками работает
beshot
21.11.2014 - 16:36
такая же картина в IE10 и Опера 25, м-да
killer8080
21.11.2014 - 16:49
Цитата (beshot @ 21.11.2014 - 15:36) |
Опера 25 |
опера некст - это клон хрома, от оперы там ничего не осталось, потому рассматривать её в контексте самостоятельного браузера нет смысла.
Насчёт осла, не знал, видимо это коллективное помешательство
Цитата (Invis1ble @ 21.11.2014 - 07:46) |
beshot какое-то время назад (порядка 1.5-2 лет) в Хроме появилась такая багофича наверное и в других также сделали, не пользуюсь ими просто |
Конкретнее какая багофича?
Кука с lifetime 0 - живет вечно?
_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."
Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. ©
AllesKlar
beshot
21.11.2014 - 18:51
Цитата |
Конкретнее какая багофича? Кука с lifetime 0 - живет вечно?
|
именно, во всяком случае кука установленная без параметров (с параметрами по-умолчанию) живет неопределенно долгое время
Invis1ble
21.11.2014 - 22:40
Вы меня удивили. Я-то думал уже все знают об этом помешательстве. Когда-то я тему даже создавал:
http://phpforum.su/index.php?showtopic=63600Обратите внимание на дату, более 2-х лет прошло.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
beshot
22.11.2014 - 08:55
Понятно, однако вызывает удивление тот факт, что не только WebKit этим болен.
Остается, как я понимаю, определить в коде минимальное время жизни PHPSESSID
inpost
22.11.2014 - 09:18
beshotУ браузера есть события "при закрытии". Может стоит его перехватить и грохнуть куки? Ну это как костыль, разве что.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.