Другие языки программирования и технологии
Авторизация php
В общем написана регистрация, написана проверка авторизации, а вот с сессиями и куками я попал в ступор. Допустим я в сессию закидываю id пользователя, собственно говоря сделал так чтоб после входа этот id висел у него в сессии, не могу понять на сколько долго сохраняется эта сессия и собственно чувствую что это не всё что мне надо сделать при авторизации с учётом того что мне нужны в будующем функции "кто в онлайне" и собственно "Онлайн/Оффлайн"...подскажите в какую сторону мыслить?
пользователь закрывает браузер и сессия закрывается, поэтому кое-какие данные надо хранить в куках.. . какой-то ключ, который бы идентифицировал его при следующем входе на сайт.. . также если браузер не закрыт, но 30 минут никакой активности - сессия тоже закрывается (зависит конечно от настроек сервера)
по поводу онлайн/оффлайн ситуация такая - сервер не может знать как долго пользователь сидит за страницей, поэтому делают так 1) создают автообновляющийся фрейм, в котором в базу ложиться текущее время для пользователя (последний визит) . если время в базе различается на временем обновления фрейма, то пользователь не в сети 2) предполагать что поьзователь сидит на каждой странице 5 минут и при обновлении каждой страницы обновлять время. еси разница больше 5 минут, то пользователь не в сети. этот способ не точный, но не приодится часто дергать базу данных
по поводу онлайн/оффлайн ситуация такая - сервер не может знать как долго пользователь сидит за страницей, поэтому делают так 1) создают автообновляющийся фрейм, в котором в базу ложиться текущее время для пользователя (последний визит) . если время в базе различается на временем обновления фрейма, то пользователь не в сети 2) предполагать что поьзователь сидит на каждой странице 5 минут и при обновлении каждой страницы обновлять время. еси разница больше 5 минут, то пользователь не в сети. этот способ не точный, но не приодится часто дергать базу данных
вы не сможете с помощью сессии следить кто онлайн и кто оффлайн!
лучший способ добавить в табличку в которой будете хранить id сессии клиента, дату входа и id юзера, при каждой перезагрузке страницы нужно дату!
если юзер вошел на сайт то в поле id юзера вписать id вошедшего юзера!
что бы вычислить кто онлайн придется сделать выборку текущая дата минус например 15 минут! все кто попадет в выборку будет онлайн (у кого в поле userid будет 0 это гости! остальные авторизированные! )
этот же id сессии записать в куку! при открытии сайта проверять или есть кука, если есть то сбегать в базу и проверить или есть запись с такой сессией. . если есть то берете id и производите для него авторизацию!
лучший способ добавить в табличку в которой будете хранить id сессии клиента, дату входа и id юзера, при каждой перезагрузке страницы нужно дату!
если юзер вошел на сайт то в поле id юзера вписать id вошедшего юзера!
что бы вычислить кто онлайн придется сделать выборку текущая дата минус например 15 минут! все кто попадет в выборку будет онлайн (у кого в поле userid будет 0 это гости! остальные авторизированные! )
этот же id сессии записать в куку! при открытии сайта проверять или есть кука, если есть то сбегать в базу и проверить или есть запись с такой сессией. . если есть то берете id и производите для него авторизацию!
Неизвестно Неизвестно
вроде бы неплохой способ, но мне кажется что немного нецелесообразен в случае если на сайте будет много гостей - тогда таблица с сессиями будет расти очень сильно и будет куча ненужных записей... может в этом и ничего особенного, но лично я сторонник хранения только полезной информации
По существу не отвечу, но, возможно, спрошу важную вещь, которая сэкономит время: а зачем писать велосипед, который давно уже написали? В любой CMS это есть.
Владимир П
cms - не всегда выход... если пишется корпоративный сайт или сайт, исходники которого не должны быть видны стороннему пользователю или необходимо реализовать много вещей, которые должны быть заточенны под определенную задачу, а для cms данных расширений / модулей нету
Похожие вопросы
- Помогите с авторизацией на PHP
- нужна помощь в написани php кода для создания авторизации пользователя и регистрации
- Как называется функция php, которая запоминает авторизацию на сайте?
- Форма авторизации и права. PHP
- С какого языка начинать изучения программирования Pascal/PHP/Python?
- Помогите со скриптом авторизации и регистрации пользователей на сайте через БД
- Авторизация на сервере C#
- Как выполнить авторизацию на чужом сайте? Есть код формы авторизации. Очень нужно, но не получается.
- SQL и PHP. Access denied for user 'u3464476869_vid'@'12.3.4.23' to database 'u3464476869_Hyp'
- Чем отличается PHP-код, необходимый для PHP-Launcher от кода для PHP Devel Studio?
В свое время я на джаваскрипте на чистом писал и смотрел на многих с усмешкой: "ха, они все жкваери юзают, плагины какие-то...а мой код полностью мне подконтролен, к тому же оптимизирован". А потом внезапно понял, что велосипед, написанный за день в 5-й раз, - это не повод для гордости, а извращение. С тех пор я изучил сотни плагинов, разобрался, как они работают, и освоил жкваери. И стал писать то, на что раньше требовалось 5 часов, за полчаса. Чем высокоуровневее инструмент, тем больше требуется знаний, чтобы его гибко использовать, но при этом тем меньше тратится времени на работу.