Archive Page 2

02
Apr
08

Таймауты

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

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

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

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

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

Advertisements
16
Mar
08

rss в другую кучу

Продолжил расширять типы записей, всё валю в одну кучу. Создал новый тип, поэтому rss теперь тоже в ней. Получил более сложную реализацию, на скорости, если и отразилось, то неявно. Плюсы: возможность настройки прав для каналов (публичные, непубличные, черновые); meta может быть почищена без страшных потерь (таблица сразу планировалась как некритичная).

ALTER TABLE `mack_ipx_entries` CHANGE `type` `type` ENUM( 'page', 'news', 'event', 'comment', 'file', 'rss' ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL DEFAULT 'comment'

05
Mar
08

Циклические стили

Организовал сегодня обработку нескольких стилей для повторяющихся элементов типа таблиц. Можно указать в html-шаблоне несколько id, разделив их запятыми. Например, <div id=”black,silver,white”>, при показе эти стили будут чередоваться, т. е. при наличии нескольких элементов с таким стилем мы получим:

<div id="black">
<div id="silver">
<div id="white">
<div id="black">

24
Feb
08

Gip замечен

Не прошло и трёх лет, а gip увидел своего первого пользователя. Это — maxop. Ура. Проект остался и прибывает в стадии исключительно девелоперской версии*. Пользователь, если мне не изменяет память, который и был зачинщиком проекта, сделал несколько замечаний:

  1. Клиент должен показывать текущий ип-адрес;
  2. Клиент будет удобнее в виде аплета;
  3. Адрес сервера должен быть проще (http://ip.udsorg.ru/maxop, как пример);
  4. К предыдущему посту: не указывать номер порта (решения: просто при наличии единственного сервиса, при нескольких — выбирать один по умолчанию).

Maxop даже предложил помощь в развитии. Что ж, может оживёт дело.
__

* — Как и всё описанное здесь.

23
Feb
08

lj bug

А я такую штуку поправил. Т. к. xio меня носом тыкал в неё. «Суп» не тыкают, похоже.

lj br clean

22
Feb
08

Глобальный анонимный отвечатель

https://mudlo.wordpress.com/2008/02/22/глобальный-анонимный-чат

Вдогонку сделать такой сервис: указываешь линк на пост в сервисе («жж», «ли» и др), постишь анонимный ответ. Он отсылается от какого-то имени робота («МегаОтвечательЁпта» с таким юзерпиком) и всё. Свою регистрацию как-то стрёмно иметь в некоторых местах. На том же «ли», например. Бага.

22
Feb
08

завершение

https://mudlo.wordpress.com/2008/02/12/Изменения-в-структуре-таблицы-записей

Только сегодня лениво завершил революцию. Т. е. подогнал скрипты под новые таблицы. Скрины ниже. Continue reading ‘завершение’