| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Юзеры, регистрация, авторизация |
| Автор: Win MK 32 10.7.2009, 19:05 |
| Не смотря на то, что я делал авториазцию админа в админке, авторизация пользователей. Хотелось бы, чтобы пользователь могвыбирать какое время сайт должен считать, что пользователь авторизован (галочка "запомнить" на неделю/на час). Еще очень хотелось бы подсчитывать точно, сколько времени в сумме провел пользовател на сайте. Я бы хотел спросить, как же все-таки положено это делать? Навернятка существуют разные варианты, хотелось бы выбрать или узнать как это лучше всего сделать. Расскажите пожалуйста об алгоритме кратко или подробно. Я постараюсь написать код и потом его выложу. |
| Автор: Sentox 10.7.2009, 23:45 |
| Это должен выбирать "сайт" в целях своей безопастности .... ! |
| Автор: Ипатьев 11.7.2009, 08:42 |
| На час никто никогда пользователя не запоминает. Существует понятие сеанса - пока пользователь работает с сайтом. Сеанс считается законченым, если пользователь закрыл браузер или не проявлял активности в течение определенного времени. Сеансы реализуются в РНР с помощью мехнизма сессий. На неделю запоминать с помощью cookie. У которых есть параметр "срок действия". За последние два дня здесь было две темы по вопросу авторизации, где все эти вопросы подробно обсуждались. Сколько провел времени подсчитать невозможно. Да и не нужно, в сущности. Пользователь не проводит время на сайте. Он запрашивает с сайта страницы. Периодически. Определить, что в данный момент делает ползователь - открыт у него в браузере твой сайт, или другой, или он сейчас пьет кофе - невозможно, разумеется. Поэтому можно толко примерно посчитать периоды, когда время между запросами не превышало, к примеру, 5 минут. То есть, если мы записываем время каждого обращения пользователя к сайту и это были, скажем, интервалы в 1,3,3,1 минут, то суммарное время будет 8 минут. Если следующее обращение произошло через 10, то мы не плюсуем 10, а начинаем новый отсчет. |