Skip to main content

Блог инженера

Блог о минимализме, инжинерии и программировании.



Подробнее про обновление сайта 2nature.ru

  | #Блог

После восторженных комментариев о победе над спамом могу рассказать, что изменилось. Во-первых, обновил движок сайта Drupal до последней стабильной версии. Во-вторых сделал полную резервную копию сайта, думаю, это стоит делать чаще, чем раз в два года, как это делается сейчас.

В-третьих, после аудита безопасности закрыл несколько досадных брешей в безопасности. Не критичных, но способных доставить неприятности. В-четвёртых установил сразу два модуля по борьбе со спамом. О них и расскажу подробнее.

Первый модуль - CAPTCHA

По-русски такую форму проверки комментатора на “человечность” тоже называют капча. Принцип блокирования спам-ботов прост, комментатор должен ввести случайную буквенно-цифровую последовательность, показанную ему на картинке. Капча позволяет поставить такую защиту на почти любые виды пользовательских форм, от комментария до заведения нового пользовательского аккаунта. Сейчас я поставил капчу только на комментарии.

Сейчас у этого модуля только один автор, поддерживающий его а актуальном состоянии. Но даже если поддержка и развитие модуля прекратиться - есть его аналоги.

Я читал, что капча не даёт 100% защиты от заспамивания. Хитрые спамеры придумали такой приём, создаётся порносайт для просмотра контента которого нужно вводить эти самые капчи. Отзывы тут же используются для распространения спама. Т.е. сотни леммингов просматривая порно одновременно позволяют спамить сайты. Думаю, сейчас мне не стоит бояться таких продвинутых атак на сайт. Кроме того, есть второй рубеж обороны - модуль Spam.

Модуль Spam

Этот модуль содержит сразу набор инструментов для блокирования спама на сайте под управлением Drupal. Модуль использует Байесовские фильтры, автоматическое обучение адресам ресурсов, на которые ссылаются спамеры, фильтрацию материало с большим количеством URL в теле, пользовательские фильтры с регулярными выражениями и другие методы.

Байесовские фильтры действуют после обучения, при этом язык, на котором публикуется спам, безразличен.

Надо сказать, что сперва я обучил Байесовский фильтр на паре сотен комментариев, а потом просто удалил большую часть из них из базы, используя SQL-выражения и фильтры из собственной головы. Этот метод оказался необычайно эффективным, за час работы удалён десяток тысячей спам-сообщений :)

Теперь спам, на моём сайте, не пройдёт. А я удивляюсь, почему такие важные модули не входят в ядро Drupal. Я не установил их ещё несколько лет назад из лени и потому, что спама почти небыло. Но его распространение напоминает бомбу. Вот где-то на форуме, где тусуются спамеры и SEO-шники публикуется адрес сайта без защиты от спама, и его начинают бомбить сотнями и тысячами сообщений в день. Стоит откликнуться с запозданием на пару недель (как это случилось у меня) и требуются нетривиальные меры, чтобы вычистить всю эту грязь.

About Mikhail Kiselev

Photo of Mikhail Kiselev

Приветствую в моём блоге! 😄 Меня зовут Михаил. Я инженер и программист. Живу в Израиле. Но мой блог связан с работой в Сибири и на Сахалине, путешествую где придётся. Я предпочитаю пост в блог посту в твиттер. Описание полезной технологии или гаджета предпочитаю описанию заката или посиделок в кафе.