Кастомизация каптчи в SMF 2.0 RCx

Дата: 22 июня, 2011 год

И снова я возвращаюсь к теме спама. Видимо, это проблема вечная :)

На самом деле, все не так плохо. Проблему спама можно решить не только делая хитрые фичи и доработки, но и простым изменением штатной каптчи SMF. Ведь тут дело какое, если каптчу используют многие, то спамеры создают под эту каптчу обучающегося бота, который со временем может ее распознать с вероятностью, стремящщейся к 100%. И неважно насколько сложна визуальная каптча (речь идет о каптче с буквочисленным представлением), со временем бот научится распознавать и ее, в случае, если алгоритмы ее генерации остаются неизменными.

Наша задача заключается в том, чтобы изменить стандартные алгоритмы генерации штатной каптчи SMF, чтобы бот не смог с достаточной точностью распознавать нашу каптчу.

Задание конфигурации каптчи происходит в файле /sources/Subs-Graphics.php. Там, ближе к концу файла есть функция showCodeImage(), в которой и описывается вид каптчи. Тем, кто не знаком с языком PHP хотя бы поверхностно, лучше туда не лазить :) В зависимости от сложности каптчи, которую можно задать в админке (http://my-cool-forum.ru/index.php?action=admin;area=securitysettings;sa=spam;), в этой функции выбираются те или иные параметры отображения. Чем сложнее каптча, тем больший угол наклона букв, больше поперечных линий, больше шума и пр.

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

Ну, к примеру, находим строку

// How much rotation will we give?

Далее идет код, который отвечает за угол наклона каждого символа в каптче. Чуть ниже — цвет букв. Идем далее,

// Put in some lines too?

После этого комментария идет описание количества линий, мешающих ботам идентифицировать символы на каптче.

// Some squares/rectanges for new extreme level

Если убрать условие, идущее после вышенаписанного комментария, то в простой каптче возникнут детали сложной — будет появлятсят широкая полупрозрачная полоска в случайных местах. Там же можно настроить ее отображение так, чтобы она не сильно мешала определению символов реальными людьми.

Проанализировав код, можно найти много точек, где, изменив один из параметров, существенно изменяется и отображение каптчи.

Изменив достаточно сильно стандартную каптчу, вы существенно усложните, а скорее всего, сделаете невозможным работу ботов на вашем форуме. Попробуйте сами.

Еще по теме: , ,

Категория: Защита, Хаки и доработки

Comments (1)

 

  1. Nell:

    Спасибо за статью, в скором времени пожалуй, попробую реализовать написанное!

SEO Powered by Platinum SEO from Techblissonline