Логика авторизации JohnCMS

1.8K
.
# Delphinum (24.12.2016 / 17:03)
ramzes, платформа работает с мобильными устройствами, а тамошние разработчики не хотели пользовать куки, пришлось отдавать заголовком старый добрый Set-Cookie, но парсить на устройстве и хранить в за
то есть все равно это куки
.
ramzes, ну если не углубляться то по сути да, это тоже файлы с данными, только без ttl.
.
# Delphinum (24.12.2016 / 17:08)
ramzes, чет ты путаешь мне кажется. Сессии и куки используют одну модель хранения на клиенте и одна не может быть более живуча нежели другая.
сессия на клиенте? какая это такая сессия?
на клиенте кука с сид. вот ее клиент после 1020 мин гибернации и сносит.
момент интересный, хочу покопаться, почему так
.
ramzes, нет, зачем же сессию на клиенте держать. Если вы пользуете сессию, то не вижу смысла писать что то в куки, если не пользуете, то не вижу смысла писать в куки пароль.
.
# Delphinum (24.12.2016 / 17:12)
ramzes, нет, зачем же сессию на клиенте держать. Если вы пользуете сессию, то не вижу смысла писать что то в куки, если не пользуете, то не вижу смысла писать в куки пароль.
ну...
клиент как сессию подхватывает? кукой. сид как раз в ней лежит.
сессия нужна для того что бы хранить в ней сессионые данные, а не авторизацию, но по сути она же может брать на себя дублирующую функцию авторизации.
я все правильно излагаю?
так вот, сессия вторична. она элементарно может грохнуться при переполнении хранилища, ее может грохнуть система сличения владельца сессии и того кто к ней пытается прицепится (перехват сессии), она просто позволяет держать какое то время авторизацию без куков (которые кстати вообще выключены могут быть)
и кстати в европе по закону надо спрашивать разрешение на хранение кук, вы я так понимаю его тихо нарушили?)
.
я вот чего не понимаю. вы в любом случае храните какой то ключ на клиенте. так какая разница какой и в каком имено виде?
та же шляпа вид с боку. спор какой то беспредметный.
а 2 ключа все равно лучше одного, кто не согласен могут обсудить это с гуглом на примере двухэтапной авторизации
.
# ramzes (24.12.2016 / 17:19)
ну...
клиент как сессию подхватывает? кукой. сид как раз в ней лежит.
сессия нужна для того что бы хранить в ней сессионые данные, а не авторизацию, но по сути она же может брать на себя дублирующую
если говорить сильно просто, то сессия это способ хранить данные в куках, но при этом не в куках. Другими словами ты как бы пишешь данные в куки, они у тебя доступны в ходе сессии, но данные на самом деле в куках не хранятся. Вот вся разница.

По поводу выключенных куков это еще один аргумент в пользу сессии )

По поводу законов европы, мы пока еще на европу не вышли, только только на новую зеландию переключаемся. Но в России есть еще и требования к запросу прав на хранение и обработку персональных, и мы вроде даже запрашиваем это право.
.
# ramzes (24.12.2016 / 17:22)
я вот чего не понимаю. вы в любом случае храните какой то ключ на клиенте. так какая разница какой и в каком имено виде?
та же шляпа вид с боку. спор какой то беспредметный.
а 2 ключа все равно луч
Разница в том, что сессии это абстракция над куками с хранением данных на сервере. По сути это то же самое, но уже в готовом виде, так зачем велосипедить?

По поводу двуфакторной это ты из другой оперы уже, ваше решение с куками это не двуфакторная.
.
╭∩╮ (`-`) ╭∩╮
# ramzes (24.12.2016 / 17:12)
сессия на клиенте? какая это такая сессия?
на клиенте кука с сид. вот ее клиент после 1020 мин гибернации и сносит.
момент интересный, хочу покопаться, почему так
Я в свое время, когда пришлось писать собственный PDO хэндлер для Зендовских сессий и до этого, глубоко копался в теме (в смысле с сессиями), там есть интересные моменты.

Теоретически, дело обстоит так:

1) Ты в первый раз зашел на сайт. Не важно логинился, или нет, но на тебя заведена сессия и в твоем браузере отложился Кукис для привязки к этой сессии. У кукиса есть (*записано в него) время жизни, которое обычно равно времени жизни сессии.

2) Ты пробыл на сайте некоторое время, потом свалил и тебя не было около часа.

3) Через час ты опять зашел. Сессия на сервере еще не протухла и соответственно подцепилась к тебе.
Раз она опять активна, ее время жизни автоматом продлевается, начиная с момента твоего последнего захода.

4) А вот с Кукисами все не так однозначно.
Теоретически, если сессия на сервере продлилась, то надо продлить и ее Куки. Но на практике (причину не изучал) это происходит далеко не всегда, или (не уверен) вообще не происходит.
Поэтому в серьезных фреймворках, в сессионных пакетах есть специальные методы для продления жизни Кукисов сессии (в частности в zend-session такое есть).
---
К чему я вдарился в теорию?
Ты не смотрел, может просто кукис не продлился и протух?
.
Вот это кстати не смотрел, но посмотрю, возможно ты прав, по крайней мере звучит логично и под ситуацию подходит.
Башка, че то не понял, какая это сессия абстракция над куками?
У них и общего то ни чего нет. Ну вот вообще ни чего, начиная с локации хранения и заканчивая механизмами. Куки это вообще то к протоколу и клиенту, больше, а сессии чисто серверная фитча от и до.
Не понимаю, о чем ты в общем.
Всего: 185