Comments 27
UFO just landed and posted this here
Если попробовать исходить из того, что никто никому ничего не должен, станет как-то легче жить.
Форум вовсе не обязан Вас мотивировать.
И Вы ничего ему не обязаны.
От этого трагического разрыва никто ничего не потерял.
Форум вовсе не обязан Вас мотивировать.
И Вы ничего ему не обязаны.
От этого трагического разрыва никто ничего не потерял.
-3
Создаем куку на годы вперед. Сохраняем в ней время последнего захода пользователя. Если время больше N дней, «забываем» пользователя, иначе обновляем куку с временем последнего захода.
Не совсем понял ваш второй вариант, но помоему мы о разном.
Не совсем понял ваш второй вариант, но помоему мы о разном.
0
Или создаем куку с сессией, к примеру, на год. При заходе, проверяем, когда она истекает. Если осталось меньше 11 месяцев, «забываем» пользователя, иначе, обновляем куку снова на год.
0
Реализация может быть разной. Мы делаем так: ставим куку со сроком жизни N дней (месяцев/лет) и аналогичную — хранящую окончание этого самого срока жизни, при входе проверяем сколько куке осталось, если получается значение меньше X — освежаем куки.
+1
А зачем об этом писать топик? Это способ, который первым пришел мне в голову, и, мне кажется, ничего гениального/интересного/нового в нем нет.
-1
Еще можно сохранять куки, хранящие время установки и срок жизни, можно хранить в них время активности. Самое главное — вовремя освежать, чтобы пользователь не оказался перед «закрытой дверью».
+1
А почему просто при каждом посещении пользователем сайта не обновлять его куку, устанавливая в ней время начала сессии равное текущему? Тогда никакой 2ой куки не надо.
+5
У себя так и делаю. Самый простой способ :)
-1
Так и не надо при каждом посещении. Дополнительная кука как раз и нужна для того чтобы знать, когда следует освежить куки — скажем куку ставим со временем жизни год с текущего момента, в дополнительную — срок окончания времени жизни. При посещении проверяем — если до этого срока остался месяц — освежаем все необходимые куки.
Можно, конечно, в начале каждой сессии освежать, можно освежать еще каким-то образом. Главное — освежать ;-)
Можно, конечно, в начале каждой сессии освежать, можно освежать еще каким-то образом. Главное — освежать ;-)
+1
Зачем плодить? По-моему тут принцип KISS самое оно.
0
Тогда зачем вообще хранить в куке время? Просто в начале каждой сессии освежать все куки разом.
+1
Сами пишите в первом пункте «Решение почти универсальное, но для случаев, когда нужно искусственно «отсекать» пассивную аудиторию не очень подходит».
-1
Вы тут про тёплое с мягким. В статье первый пункт — первое решение. Второй пункт — второе. Два разных решения. В первом ставится кука до 2037 года например и про вопрос ее срока жизни можно забыть, во втором — уже те самые манипуляции с освежением и сохранением времени (срока жизни, времени установки — кому что больше нравится).
Если требуется освежать и если не нужно читать время в дальнейшем, зачем его тогда вообще сохранять? Как раз KISS: «зашел посетитель > началась сессия > все установленные у него куки освежить».
Если требуется освежать и если не нужно читать время в дальнейшем, зачем его тогда вообще сохранять? Как раз KISS: «зашел посетитель > началась сессия > все установленные у него куки освежить».
+1
Почему все считают, что все кому-то обязаны? вы еще про капчу вспомните.
Зы
Я ушел с одного специлизированого форума с очень хорошей аудиторией из-за того что там ввели адскую капчу(хабр всасывает заглатывая, впрочем не только в плане капчи, но в плане контента и аудитории) и сроктгоности печенектпостааили сутки.
Зы
Я ушел с одного специлизированого форума с очень хорошей аудиторией из-за того что там ввели адскую капчу(хабр всасывает заглатывая, впрочем не только в плане капчи, но в плане контента и аудитории) и сроктгоности печенектпостааили сутки.
-3
Ну собственно я о том, что чем проще работа с сервисом — тем лояльнее к нему аудитория, а это уже даёт разные «плюшки» самому сервису (кэп?).
И закрытая в один прекрасный момент дверь на входе — это «–100 к карме сервиса» одномоментно. Топик призывает избегать этой ситуации во избежание жертв и разрушений. =)
И закрытая в один прекрасный момент дверь на входе — это «–100 к карме сервиса» одномоментно. Топик призывает избегать этой ситуации во избежание жертв и разрушений. =)
+1
Больше раздражает, когда делают какие-то странные поля, которые браузер не считает логином и паролем, и не предлагает запомнить их.
+3
А ещё многие сервисы не предоставляют возможность самоудаления-самовыпиливания аккаунта.
+1
Ещё вариант с одной кукой без постоянного её обновления — время установки куки пишем в БД (вместе с самой кукой, мы же её сохраняем в базе?). При входе с истекшей сессией (или вообще без неё), но с кукой — ищем в базе куку (как обычно, чтоб в сессии установить user id и т. п.), но тем же запросом вытягиваем время установки — если слишком давно, но не настолько, чтобы заставить пользователя логиниться снова, то обновляем и куку, и запись в БД.
Оверхид по сравнению с кукой на 100500 лет — на одно поле больше выбирать при начале сессии+одно сравнение этого поля с текущей датой+одна запись в БД, если надо обновить куку. Если поле не индексировано — а индексировать его особого смысла нет, имхо, — то практически оверхид равен нулю, а гибкость повышается.
Оверхид по сравнению с кукой на 100500 лет — на одно поле больше выбирать при начале сессии+одно сравнение этого поля с текущей датой+одна запись в БД, если надо обновить куку. Если поле не индексировано — а индексировать его особого смысла нет, имхо, — то практически оверхид равен нулю, а гибкость повышается.
+1
Sign up to leave a comment.
Про «забывчивость» веб-сервисов