02
Apr
08

Таймауты

Сделал таймауты для всего, для чего только мог придумать:

внесения стандартных текстовых записей (страницы, новости…);
загрузки (одного или группы) файлов;
записи комментариев;
регистраций новых пользователей;
авторизации на сайте;
выдачи страниц или файлов движком;
запросов на восстановление пароля;
а сессии пользователей на сайте и сессии восстановления пароля уже были раньше.

Ожидание таймаута, если он есть проходит в функции обновления сессии средствами функции sleep, что, наверное не самый удачный вариант, но его всегда можно будет заменить выводом страницы, сообщающей, что, мол, ты, сестрёнка или братишка, слишком скоростная или скоростной. А с другой стороны, штатно работающий пользователь ничего не увидит, а если сильно заторопится, то просто дождётся загрузки следующей страницы без лишних отягощающих сообщений.

Технически это выглядит не очень элегантно: для каждого клиента заводится несколько сессий с одним идентификатором, но различными префиксами. В строке сессии хранится её уже упомянутый идентификатор с префиксом, id-номер зарегистрированного пользователя или ноль для гостя, ip-адрес и время последнего действия. Обновление сессии происходит по её идентификатору и префиксу (типу), но для обманщиков (которые скрыли или изменили идентификатор сессии) существует ещё и проверка по ip-адресу, чтобы все честно выжидали назначенное им время и не флудили, например.

SQL: Так как тип сессии обозначает её префикс, специальная колонка для типа была упразднена.

Advertisements

0 Responses to “Таймауты”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: