Есть ли надежная защита от спама?

С недавних пор для борьбы со спамом я использую службу Akismet.
И должен сказать, что работает она не плохо. Количество спама существенно уменьшилось. Если до установки в день приходило 10-20 спамерских трекбеков и около 10 бессмысленных комментариев, явно добавленных вручную, то через пару недель после установки Akismet спамеры похоже обо мне забыли (как бы не на каркать
).
Т.е. спам появляется, но гораздо реже. То количество, которое раньше появлялось за день сейчас приходит за недели 2-3, и оседает в спам-фильтре. Конечно, туда попадают и нормальные комментарии (за 2 месяца – штук пять). Поэтому списки спама приходится регулярно просматривать.
Но я не об этом. На днях заметил одну интересную особенность Akismet. Похоже, кто-то просто игрался с формой добавления комментариев и оставил такой коммент:
Имя: m
eMail: g@mail.ru (вряд ли он настоящий)
URL: отсутствует
Текст: <code></code><em><strong> (т.к. текст состоит только из тегов, комментарий выглядит пустым).
И Akismet спокойно пропустил этот комментарий.
Я понимаю, что отнести его к спаму сложно, т.к. отсутствует ссылка, т.е. спамер не получит никакой выгоды.
Но с другой стороны в FAQ Akismet написано.
Цитирую:
When a new comment, trackback, or pingback comes to your blog it is submitted to the Akismet web service which runs hundreds of tests on the comment and returns a thumbs up or thumbs down.
Перевод:
Когда новый комментарий, трэкбек или пингбек приходит на ваш блог, он отправляется на веб сервис Akismet, который пропускает его через сотни тестов и возвращает решение, принять или отклонить.
Интересно, какие именно тесты из этих сотен прошел комментарий?
Очень похоже на то, что Akismet просто проверяет, есть ли ссылки и только после этого запускает остальные тесты.
В общем-то, логика здесь есть. Нет ссылок – нет выгоды спамеру, нет выгоды – значит это не спам.
Но может возникнуть другая проблема. Если кто-то просто решит завалить ваш блог мусором, то чистить его придется исключительно ручками.
А что вы думаете по этому поводу? Может кто-то работал с другими службами?
Опубликовано в WordPress, Разное | Комментарии (6) »
Ограничение FeedBurner
Буквально на днях обнаружил одно из ограничений FeedBurner’а.
Началось все с того, что во вторник я написал очередной пост.
Т.к. на обновление ленты FeedBurner’а обычно уходит около 30 мин, сразу проверять появился ли пост в ридере, не было смысла, а потом я просто об этом забыл.
В общем, только в четверг я заметил, что мой RSS ридер не показывает новый пост.
А при попытке подписаться на собственную ленту увидел «шикарную» картинку.
С помощью которой FeedBurner сообщил, что ему не нравятся ленты больше 512 КБ. Честно говоря, я думал, что FeedBurner отправляет письма с описанием ошибок.
М-да… Не думал, что 20 моих статей занимают 512 КБ
Естественно, я сразу же сократил количество постов в ленте до 10. И сделал пинг своего блога на сайте FeedBurner’а.
В результате, минут через 10 лента нормально заработала.
Так что прошу прощения у всех, кто не смог подписаться.
Мораль. Нужно читать собственную ленту ![]()
Опубликовано в WordPress, Разное | Комментарии (6) »
Backup базы данных и ограничения хостинга

Недавно я столкнулся с небольшой проблемой. Нужно было организовать автоматическое создание резервных копий базы данных.
Задача, конечно, стандартная, а, учитывая объем базы (меньше 1МБ), может быть решена без специального софта и оборудования.
Так что я выбрал самый простой способ (осуществляется в три этапа):
1) создание дампа БД;
2) упаковка дампа в архив;
3) отправка архива на eMail.
На сегодняшний день, объемы почтовых ящиков позволяют вообще не удалять эти архивы, и надежность решения получается довольно высокой, т.к. данные хранятся на разных серверах.
Т.е. все, что нужно сделать – написать скрипт и запускать его с помощью cron.
Скрипт я решил сделать на PHP, и сразу же столкнулся с проблемой.
Читать дальше »
Опубликовано в PHP, Разное | Комментарии (10) »
Шаблоны для Eclipse

Вы никогда не задумывались, насколько эффективно используете программы, с которыми работаете? Ведь зачастую они содержат возможности, которые позволяют не только ускорить работу, но и сделать ее более комфортной.
Одной из таких возможностей является автодополнение кода. На сегодняшний день она реализована во многих редакторах, а в IDE стала стандартом де-факто.
Принцип работы этой функции простой. Набираете часть слова, нажимаете Ctrl+Space (может быть другое сочетание клавиш) и появляется список с возможными вариантами автодополнения.
Обычно самые распространенные шаблоны уже установлены в редакторе, но максимальный эффект можно получить если добавить к ним свои собственные.
В общем, небольшим набором таких шаблонов для Eclipse PDT я и хочу поделиться.
Этот набор я создавал для быстрой вставки комментариев в php код (используется формат phpDocumentor).
Скачать xml файл с шаблонами comments_templates.xml
Читать дальше »
Опубликовано в PHP, Разное | Комментарии (6) »
Как бороться со спамом в комментариях

С недавних пор кто-то решил, что этому блогу очень не хватает спама в комментариях и упорно старается исправить ситуацию
.
Я с самого начала принял меры против спама. А именно, добавил в форму комментариев несложную captcha, которая до недавнего времени прекрасно справлялась со своей задачей.
Примечание. Для создания captcha я использовал Math Comment Spam Protection Plugin.
Но с недавних пор (недели 2 назад) начал появляться спам в трекбеках (где-то по 5-10 штук в день).
Первое время я удалял его вручную, но это дело мне быстро надоело
.
Читать дальше »
Опубликовано в WordPress, Разное | Комментарии (6) »
Сколько нужно резервных копий?
Сразу скажу правильный ответ: «Сколько не делай, все равно будет мало!»
И самое паршивое то, что проблемы возникают в самый неподходящий момент.
Как раз такая ситуация у меня и возникла. 12-ого февраля все было нормально, а 13-ого я увидел, что в блоге не хватает двух последних записей.
Проблема была с сервером хостера («разрушилась файловая система» - по их словам). Данные были восстановлены по резервной копии за 10-ое февраля.
Недостающие статьи я, конечно, быстро восстановил (кроме резервных копий блога я отдельно сохраняю все вордовские файлы, картинки, исходники и т.п.).
Но вот с комментариями оказалось сложнее. Какие-то я восстановил, а какие-то – мог пропустить. За что я прошу прощения у их авторов.
Поэтому если вы вдруг не увидите своего комментария, просто отправьте его еще раз.
Вместо заключения.
Ситуация, безусловно, неприятная, но очень поучительная. Нельзя переоценивать свои силы и быть слишком уверенным в себе
.
Естественно, я пересмотрю подход к созданию резервных копий.
И еще раз прошу прощения за потерянные комментарии.
P.S. Очень неплохо в этой ситуации показала себя служба FeedBurner. Все, подписчики RSS ленты получили полный текст всех статей даже после восстановления из резервной копии (кстати, еще один повод подписаться на RSS
).
Опубликовано в Разное | Комментарии (12) »
Как защитить свой web ресурс

Данные, полученные от посетителя сайта, нужно проверять. Это знают все, это постоянно повторяют во всех руководствах по программированию. Но в большинстве случаев сразу после проверки возникает вопрос: «А что делать, если данные не прошли проверку? Вывести сообщение об ошибке? Попытаться их исправить?».
В этой статье я покажу несколько приемов проверки и обработки входных данных.
Но, прежде всего, разберемся, какие типы некорректных данных мы можем получить от пользователя. Их всего два:
1) случайные ошибки;
2) специально сформированные запросы для взлома сайта.
В первом случае нужно объяснить посетителю, как исправить ошибку. Т.е. отправить его на страницу с инструкцией (или показать текст около поля ввода).
Второй случай немного сложнее. Тут главное помнить одно простое правило: «Никогда не доверяй данным, полученным от браузера». И не важно, выполняется ли проверка с помощью JavaScript или нет, имея минимальные знания программирования можно сформировать и отправить любой запрос. Отсюда вывод – все данные должны быть проверены на стороне сервера.
На сегодняшний день наиболее часто применяется два вида атак на сайт. Это SQL Injection и Cross Site Scripting (XSS). Рассмотрим их немного подробнее.
Читать дальше »
Опубликовано в PHP, Разное | Комментарии (5) »
Как создать свой сайт? Или зачем нужны фрэймворки?

Создание современного web сайта (приложения) представляет собой довольно трудоемкую задачу. Когда вы читаете книгу или руководство, то все кажется довольно простым. Демонстрационные программы редко бывают больше нескольких страницы. Все красиво работает…
Но, проблема в том, что это учебные примеры. Как только вы попытаетесь использовать их на практике, вы увидите, как увеличивается объем кода. Рассмотрим обработку данных, полученных из формы. Мы должны:
- проверить тип полученных значений;
- убедиться, что значения имеют допустимые величины (или формат);
- удалить из текста запрещенные теги (защита от XSS);
- заменить в параметрах SQL-запросов служебные символы на их эскейп последовательности (защита от SQL Injection);
- если параметры связаны между собой, проверить эти связи;
- и т.д.
Естественно, этот код должен быть не только написан, но и протестирован. Как видите, приличный кусок работы. Причем в большинстве своем это рутинные операции, которые повторяются практически во всех приложениях.
А т.к. программисты народ ленивый и два раза писать один и тот же код не любят, всевозможные решения начали появляться как грибы после дождя.
Итак, сегодня для создания web сайта (приложения) существует три основных подхода (или их комбинации).
Читать дальше »
Опубликовано в CodeIgniter, Разное | Комментарии (6) »
Redisign
Наконец-то, доделал новую тему для этого блога!
Главные изменения, коснулись сайдбара. Теперь он стал практически в два раза шире, что позволило добавить в него несколько новых блоков (например, «самое читаемое»).
Кроме того, теперь можно создавать цепочки комментариев (похожий принцип используют службы вроде habrahabr.ru). На мой взгляд, это гораздо удобнее стандартного способа добавления комментариев.
В общем, надеюсь, новый дизайн сделает чтение блога приятнее.
Все пожелания, замечания, советы и т.д. пишите в комментариях. Мне действительно будет очень интересно их почитать
.
P.S. На скриншоте показан предыдущий вариант дизайна (щелкните по картинке чтобы увеличить).
P.P.S. Также хочется выразить благодарность Максиму за сборку и Slaff’у за руководство. А также отдельное спасибо Scratch’у за совет о доступности форм.
Опубликовано в WordPress, Разное | Комментарии (26) »
Лишняя запятая и браузеры
Знаете, бывают ошибки, на которых сколько не учись, все равно убьешь кучу времени. Думаю, каждый программист с ними сталкивался. На днях так «повезло» и мне.
Дело было так. Добавляю я эффекты из Scriptaculous, и, естественно, настраиваю их параметры. Все идет отлично. Эффекты работают как надо, работа кипит.
Тестирую, как обычно, в FireFox. Все прекрасно работает. Начинаю проверять в IE и Opera.
И тут возникает проблема. Один эффект не работает. Ни в какую. Причем я точно знаю, что сам эффект должен работать (использовал его раньше). Складывается впечатление, что не вызывается сама JavaScript функция.
Код был такой.
-
new Effect.Highlight(‘textBlock’, {
-
startcolor:"#DFDC00",
-
endcolor:"#FFFFFF", duration: 2,
-
queue: {position: ‘end’, scope: ‘myqueue’},
-
});
Короче, провозился я полчаса. В конце концов, до меня дошло, что лишняя запятая в конце массива с параметрами вызывает ошибку. (Эта запятая осталось случайно после экспериментов с параметрами).
Вроде бы ничего сложного. Но получается, что FireFox (с установленным плагином Firebug) исправил ошибку автоматически и даже предупреждения не вывел.
А я, естественно, начал думать, что это глюки браузеров.
Ошибка, конечно, пустяковая, но полчаса времени на ее исправление, плюс не самые приятные ощущения – это далеко не пустяк.
Может кто-то знает надежный способ отладки JavaScript кода (а заодно и CSS)?
Опубликовано в JavaScript, Разное | Комментарии (14) »

