Наверняка вы, как администратор сайта на Joomla, хотя бы раз, но сталкивались с такими сообщениями административного центра (бэкэнда) вроде: «Продаём электрические утюги со складов в Урюпинске. Телефоны отдела продаж 007-555-888-5» или «Бесплатное порно смотреть тут» или вообще какие-то бессмысленные наборы символов типа «}puugytfderetppoo» в качестве анкоров.
Всё это страшно неприятно и отнимает иногда кучу времени для того, чтобы избавиться ото всего этого хлама. Помимо того, что эти сообщения отнимают время у вас, они же нагружают здорово сервер. Представьте, каждое такое сообщение заставляет выполнять на сервере скрипты отправки писем, добавления записей о пользователе в базу данных, формирования формы отправки данных и прочие действия. Поэтому бороться с этим необходимо.
Попробуем понять, почему это всё буквально валится на наш сайт, а потом придумаем способы избавления. У любой CMS, какая бы она ни была замечательной и защищённой, есть так называемые «дыры». Это всякие формы отправки сообщения администраторам, регистрации пользователей, расширения для форумов и прочее. Побороть раз и навсегда назойливых «товарищей» не получится, но сделать их работу бессмысленной и сложной можно и нужно. Зачем они это делают – понятно. Во-первых, это реклама, во-вторых, это ссылки.
В основе защиты сайтов на Joomla от спама лежат самые разные действия. Многие из них учитывают, что подобные безобразия чаще всего творят роботы. То есть нужно придумать что-то, чего роботы не умеют. Поставить какие-то недоступные нечеловеческому пониманию преграды, загадки, шарады, уравнения и т.п. Например, известно, что роботам пока тяжело работать с изображениями. Тогда человек придумал такую штуку, как каптча. Например, в форме регистрации перед отправкой стоит изображение с кодом. Причём сам код пишется на фоне разноцветных полос, штрихов, кружочков. Почти как в военкомате.
Только в роли военкома выступает специальное расширение, которое так и называется Joomla Captcha. Скрипт из этого расширения формирует перед отправкой данных изображение и специальное поле, куда нужно вписать код из каптчи. Тот же скрипт сравнивает внесённый пользователем в поле код с кодом, расположенным в предварительно подготовленном хеш-массиве. «Не совпало – до свидания» - говорит скрипт в случае неудачи.
Какие ещё есть раширения для Joomla для антиспама? В некоторых расширениях, таких как, например, simpleForm2 борьба со спамом уже включена. Для того, что ее активировать, нужно всего лишь в форму добавить элемент каптча. И хотя там используются несложные картинки, тем не менее, спама и вправду становится меньше.
Но вы сильно не надейтесь на эти механизмы. Дело в том, что популярные расширения для Джумлы, так сказать, «осваиваются» спамерами. И работавшее отлично ранее расширение может допускать «промахи». Но и сами разработчики не дремлют. Поэтому так важно вовремя обновляться. И даже если расширение и обновление его стоят денег, то иногда лучше заплатить. Потому что, например, ссылки, оставленные спамерами, очень сильно «садят» сайт в результатах поиска. Для коммерческих проектов это недопустимо.
Есть и ручные способы борьбы со спамерами. Они не очень удобны. Но их тоже стоит знать. Особенно, когда ваши расширения не справляются с назойливой рекламой. Если на сервере используется .htaccess, то в нём можно завести такой контейнер:
order allow,deny
deny from [пишем IP-адрес неугомонного спамера]
allow from all
Это, конечно, достаточно жёсткий способ борьбы. Так можно ненароком закрыть доступ большой подсети. Поэтому лучше и гибче каптчи в Joomla пока ничего не изобрели.
Также, одним из самых легких путей борьбы с нежелательными ссылками на вашем сайте является плагин disAllow. Который закрывает для поисковиков внешние ссылки на вашем сайте.