Евгений Степанищев

Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

«Спеста» — винтажная система статистики, часть II.

Ещё несколько советов по работе со «Спестой», предыдущая пачка — в первой части статьи.

Совет пять. Судя по коду, «Спеста» иногда способна пропустить какую-то часть хитов (кстати, у «Spesta 2» тот же недостаток). Для слабопосещаемого сайта это не слишком важно, для сильнонагруженных станет серьёзной проблемой. Для того, чтобы поправить ситуацию, открываем файл counter.php, ищем строки, содержащие «SP_fr ($COUNT_FILE)» и «SP_fw ($COUNT_FILE, $content)». Заменяем их на следующие куски кода (первую найденную строку — на первый, вторую — на второй):
$fp = fopen($COUNT_FILE, 'a+');
flock($fp, LOCK_EX);
fseek($fp, 0);
$conts = fread($fp, filesize($COUNT_FILE));
ftruncate($fp, 0);
fseek($fp, 0);
fwrite($fp, $content);
fclose($fp);
Совет номер шесть. Открываем все PHP-файлы последовательно и в каждый, в начало PHP-кода ставим нижеприведённый кусок. Файл mailto.php удаляем.
$s_addurl = "";
5 декабря 2007 18:21

yakovis.com (yakovis.com)
5 декабря 2007, 20:09

А не проще ли выложить собственный дистрибутив? :) Чем вот такие правки по одной публиковать?

bolk (bolknote.ru)
5 декабря 2007, 20:34

Его ж поддерживать надо, отвечать на письма читателей и т.д. Да и за отправную точку лучше взять Spesta 2.

not-available.livejournal.com (not-available.livejournal.com)
5 декабря 2007, 23:13

Проверка?

bolk (bolknote.ru)
6 декабря 2007, 00:12, ответ предназначен not-available.livejournal.com:

Мусоришь мне комменты, даже удалять не буду, чтобы все знали, что я порицаю!

isk.livejournal.com (isk.livejournal.com)
6 декабря 2007, 00:13

совет 5.1
после выполнения совета 5 вдумчиво читаем http://spectator.ru/technology/php/flock_workaround

bolk (bolknote.ru)
6 декабря 2007, 00:42, ответ предназначен isk.livejournal.com:

Искандер, что тут читать? Думаешь, я знаю о flock меньше? Дима просто не умел тогда обращаться с flock. Что же до неработы flock на «NFS and many other networked file systems», FAT и возможно некорректной работы под multithread ISAPI, то меня это мало волнует — много ты видел блогов, установленных с такими условиями?

И даже в этом случае (если не удасться сделать flock), данные *потеряются* *точно* *так* *же* как при последовательном чтении/записи в немодифицированной «Спесте».

skurudo.livejournal.com (skurudo.livejournal.com)
1 января 2008, 10:16, ответ предназначен bolk (bolknote.ru):

А можно рекомендации конкретно по Spesta2? Дело в том, что далеко не везде включен register_globals ;-(

bolk (bolknote.ru)
1 января 2008, 18:03, ответ предназначен skurudo.livejournal.com:

Я в ней копался совсем немного, но дыры уже вижу и недостаки те же. Через несколько дней посмотрю её поближе, тогда и опубликую. Я сам хочу попробовать на неё перейти.

bolk (bolknote.ru)
7 января 2008, 00:08, ответ предназначен skurudo.livejournal.com:

Как же она неаккуратно написана. Автор двигался в правильном направлении, но как-то… недотянул. Всё-таки я переоценил своё желание делать хоть что-то на праздники. Возможно, смотреть буду после 9-10-го.

А может и завтра посмотрю. Править по-крупному не буду, только те же правки, что и в original Spesta.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)

Подсказка по написанию комментария

В комментариях можно применять следующую специальную разметку:

  • слово, обрамлённое в «звёздочки» выделяется *жирным*
  • ссылка становится ссылкой: http://bolknote.ru
  • ссылка в скобках также становится ссылкой, закрывающая скобка не захватывается: (http://bolknote.ru)
  • каждую строку цитаты следует начинать со знака «больше»:
    > это цитата
    > из двух строк
  • можно вставить картинку, залитую на один из сервисов: «Яндекс.Фотки», «Фликр» или «Пикплз». Для этого нужно вставить на страницу полный адрес вашей картинки на сервисе, он превратится в картинку:

    http://fotki.yandex.ru/users/bolknote/view/274311?page=3