• Плагины защиты wordpress от спама в комментариях! Защита от спама в WordPress без плагина Решения антиспама при помощи плагинов.

    Сегодня мы поговорим о практически стопроцентной защите от спама в комментариях WordPress, которая возможна при помощи замечательного и очень простого плагина DCaptcha. Он представляет из себя самую простую капчу, которую только можно было бы придумать.

    Посетителям вашего блога не надо будет разгадывать каких-либо ребусов — достаточно будет всего лишь поставить галочку в поле «Я не робот», при добавлении своего сообщения. бич всех WP блогов, вне зависимости от их посещаемости.

    У меня в день бывало до 60-80 спамных сообщений (все они без ). Для борьбы с ними я использовал плагин Akismet. Он безусловно полезный, но работающий, однако, не безупречно. Иногда Akismet все же заносит в спам вполне легитимные сообщения. Поэтому у меня остро встала задача найти идеальное решение для этой нетривиальной проблемы. Что примечательно, это решение работает у меня уже почти четыре года и эту капчу до сих пор не пробил ни Хрумер, ни какой-либо другой спамерский софт.

    DCaptcha — абсолютная защита от спама в WordPress

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

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

    Поэтому я задумался над установкой капчи , т.е. специального WP плагина, который позволит оставлять сообщения только обычным пользователям, но режущий спамеров, которые в основном пользуются программным способом (хрумер и прочий софт). Многие виды капч уже не являются проблемой для таких программ. Однако, еще встречаются удобные капчи, которые пока не научились обходить в силу их сложности, либо в силу малого процента использования.

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

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

    Удачным примером, на мой взгляд, является защита, предлагающая выполнить простейшие арифметические действия с четко изображенными цифрами и записать получившийся результат. Но еще более простой и удобной для пользователя является капча плагина DCaptcha, где нужно всего лишь поставить галочку в поле «Я не робот». Наверняка вы уже встречали такие варианты.

    На данный момент у меня он работает стопроцентно, т.е. не пропускает вообще ни одного спамного комментария на протяжении почти четырех лет. Я даже отключил Akismet, т.к. на данный момент в нем нет нужды.

    Установка

    У меня в данный момент установлена бета версия DCaptcha 0.2b, которая, тем не менее, работает на сто процентов. За четыре года не было ни одного пробоя! Я даже забыл, что такое спам! Красота, но думаю, что как только данный плагин получит широкое распространение (и я, как не печально, способствую этому написанием данной статьи), то спамеры займутся им всерьез.

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

    Установка этого расширения чуток отличается от стандартной. Нужно будет выполнить следующие действия:

    1. распакуйте архив с капчей dimoning.ru-captcha.rar, используя ftp-менеджер подключитесь к вашему хосту и загрузите папку dimoning.ru-captcha в папку с плагинами wp-content/plugins/
    2. войдите в админку и выберете вкладку «Плагины»- «Inactive»
    3. найдите строку с DCaptcha и активируйте его
    4. теперь (по ссылке описано, как это сделать в Файлзиле) на папку /wp-content/plugins/dimoning.ru-captcha/num
    5. затем нужно в адресной строке браузера ввести следующий Урл http://vash_site.ru/wp-content/plugins/dimoning.ru-captcha/install.php и нажать «Enter». В результате будет сгенерирован уникальный код , позволяющий защитить капчу от взлома

    После установки обязательно проверьте, работает ли капча. Для этого просто зайдите на свой блог как обычный посетитель и попробуйте оставить комментарий. Если вам захочется изменить в настойках DCaptcha надпись «Это не спам», то для этого нужно будет открыть на редактирование файл /wp-content/plugins/dimoning.ru-captcha/dimoning.ru-captcha.php в текстовом редакторе.

    Найдите с помощью встроенного поиска используемого вами текстового редактора строку:

    Это не спам.

    и внесите нужные вам изменения. Я, например, сделал надпись красного цвета. Для этого нужно будет всего лишь добавить в файл таблицы каскадных стилей CSS вашей темы оформления wp-content/themes/название_вашей_темы_оформления/style.css следующее свойство:

    #dcaptcha { color: red; }

    Наверное, многие из вас, дочитав статью до этого места, уже успели установить и настроить это расширение.

    Однако, при установленном и активированном плагине спам-комментарии в базу данных писАться не будут, но, правда, это справедливо только в том случае, если у вас отключена, так называемая, «Корзина» , которая появилась в WordPress начиная с версии 2.9. При активной «Корзине» весь спам, отсекаемый этой капчей, будет благополучно падать в корзину и накапливаться там до тех пор, пока она автоматически не очистится.

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

    Кстати, именно начиная с версии WordPress 2.9 плагин DCaptcha перестал отсекать спам , что для меня явилось очень большой и неприятной неожиданностью. В какой-то момент я неосмотрительно обновился до версии 2.92 и обнаружил, что стали появляться в большом количестве гадости, от которых я уже успел отвыкнуть.

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

    Борьба со спамом в Вордпресс с помощью файла htaccess

    Первое, что я решил попробовать, это возможность блокировки спам-ботов через «htaccess». Название этого файла начинается с точки и если его в корневой папке вашего хоста не обнаружится, то следует обязательно создать, ибо возможностей у него очень много и некоторые из этих возможностей вам могут понадобиться. Давайте я немного расскажу о файле «htaccess».

    «htaccess» предназначен для, так называемого, децентрализованного управления веб сервером Apache. Дело в том, что в 99 процентах случаев ваш проект будет размещен на хостинге под управлением сервера Apache. Возможности этого сервера всеми хорошо изучены и к тому же он бесплатен. Так вот, для того, чтобы вебмастер (вы), не имеющий доступа к рычагам управления Apache, тем не менее имел возможность управлять некоторыми аспектами работы сервера и был придуман этот файл.

    Все директивы (команды), прописываемые в "htaccess, будут применены только к содержимому той директории (папки), в которой находится данный файл. Следовательно, если вы создадите в корневой папке своего хоста «.htaccess», то сможете давать команды серверу Apache, которые будут применены ко всему вашему сайту. Этот файл можно будет создать так же и в любых других директориях движка и, например, запаролить через него доступ к этим каталогам.

    Не многие знают все директивы (команды) и правила их написания в «.htaccess», но этого и не требуется. Зачастую вам нужно будет только скопировать уже готовый код из какого-либо примера и заменить в нем данные на те, что подходят вам.

    Если файла такого в коневой папке WordPress вы не увидите, то возможно, что его там и нет, но сначала вам нужно будет в этом убедиться. Для работы с сайтом по FTP я использую (да и вам тоже советую) замечательную программу FileZilla (см. ссылку выше). После подключения к своему хосту по FTP откройте корневую папку (обычно она называется либо PUBLIC_HTML, либо HTDOCS) и проверьте наличие в ней файла «htaccess».

    Если он там будет, то просто откройте его на редактирование, а если вы такого файла в корневой папке не найдете, то попробуйте в программе FileZilla выбрать из верхнего меню «Сервер» — «Принудительно отображать скрытые файлы». Если и после этого искомого объекта в корне вы не найдете, то создайте у себя на компьютере пустой текстовый файл, назовите его как-нибудь и скопируйте на сервер хостинга. После чего переименуйте его в «htaccess».

    Существует два способа блокировки спам-сообщений в htaccess. Я использовал такой код:

    order allow,deny allow from all deny from 109.74.85.150 deny from 124.162.118.179 deny from 124.238.242.103 deny from 124.238.242.36 deny from 143.248.3.35

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

    Минусы такого способа защиты, наверное, очевидны. Во-первых, вам придется совершить очень большое количество операций копирования IP адресов спамеров из админки в приведенный выше код файла «htaccess». Во-вторых, спамеры тоже не лыком шиты и активно используют прокси сервера, что существенно увеличивает список адресов, которые вам нужно будет добавить черный список.

    Я ухитрился вручную насобирать более 400 IP адресов спамеров. Что мне это в результате дало? Поток спама уменьшился с сотен до десятков. Уже существенно, но очень уж трудозатратно и утомительно. Не намного лучше, чем вручную перелапачивать тоны хлама.

    Второй способ блокирования спамеров заключается в добавление в «htaccess» IP адресов всяких редисок с директивами, позволяющими фильтровать спам по ряду признаков. Сам я этот способ не пробовал, ибо сумел таки заставить работать мой любимый плагин DCaptcha под Вордпресс 2.92, о чем сейчас вам и расскажу.

    DCaptcha работает на современных версиях WordPress

    Для того, чтобы заставить DCaptcha корректно работать на современных версиях WP, как оказалось много не надо. Просто подключитесь по FTP с серверу хостинга, где у вас размещены файлы вашего блога, и откройте на редактирование файл Dimoning.ru-captcha:

    Найдите в нем строку:

    и замените в ней «delete» на «trash», чтобы в результате получилось так:

    Wp_set_comment_status ($id, "trash");

    Что же мы получим в результате проведения этих изменений в коде плагина? Ну, во-первых, он начнет работать. Это уже хорошо, но давайте посмотрим повнимательней, а что же мы, собственно, сделали и куда теперь будут попадать комментарии, которые спаморезка пометит как спамные?

    Начнем, пожалуй, со второй части вопроса. Порезанные сообщения, при тех настройках, что мы задали чуть выше, попадут либо в разряд «Спам» (в случае замены «delete» на «spam»), либо в разряд «Корзина» (в случае замены «delete» на «trash»).

    Т.е. получается, что спам все равно записываться в базу данных WordPress, но просто с пометкой. Легче ли нам станет от этого или нет? С одной стороны, конечно же, легче. Ведь мы теперь смело сможем, зайдя в админку, очистить все содержимое корзины или спама, не боясь удалить сообщения от реальных читателей. Однако, весь этот хлам будет создавать дополнительную и ненужную нагрузку на сервер хостинга.

    Даже если вы отключите корзину в Вордпрессе (о том, как это сделать можно прочитать в конце статьи), то все равно сообщения спаммеров все равно будут в нее падать (хотя, ее как бы и нет). Это легко будет проверить, включив выключенную раннее корзину (вы увидите в ней кучу всего, что порезано плагином DCaptcha).

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

    Давайте, кстати, разберемся, почему не работает оригинальный код DCaptcha, который был в нем по умолчанию:

    Wp_set_comment_status ($id, "delete");

    Если мы обратимся к кодексу WordPress , то увидим, что для этой функции WP_SET_COMMENT_STATUS в новых версиях (начиная с версии 2.92) уже нет такого значения «delete». На данный момент можно использовать только значения: "hold", "approve", "spam", or "trash".

    Т.е. удалить порезанные плагином сообщения с помощью функции WP_SET_COMMENT_STATUS мы уже не сможем, как это можно было сделать с помощью выбора значения "delete" в старых версиях WP.

    В версиях движка, начиная с 2.92, мы можем с помощью функции WP_SET_COMMENT_STATUS только переместить мусорные сообщения в корзину (выбрав значение "trash"), либо пометить их как спам (выбрав значение "spam").

    Для удаления порезанных спам-комментариев нам явно нужно будет использовать другую функцию, которая описана на этой странице кодекса . Это функция называется WP_DELETE_COMMENT. Поэтому в файле:

    /wp-content/plugins/dimoning.ru-captcha/dimoning.ru-captcha.php

    замените строку:

    Wp_set_comment_status ($id, "delete");

    на строку

    Wp_delete_comment ($id);

    Сохраните произведенные изменения и протестируйте плагин на работоспособность. Теперь он должен будет исправно отсекать спамеров и пропускать только сообщения реальных посетителей вашего блога, поставивших галочку в поле «Я не робот». Причем, если вы не отключите корзину, то удаленные спам-комментарии будут попадать именно в нее.

    Как отключить корзину в WordPress

    Мне это показалось неприемлемым, ибо главной задачей использования спаморезки являлось не только избавление от мусора, но и снижение нагрузки WordPress на сервер хостинга, которая создавалась потоком этого мусора. Поэтому я решил вообще отключить корзину, ибо ее функции мною все равно были не востребованы. Из админки отключить ее не получится, для этого потребуется внести изменения в конфигурационный файл под названием WP-CONFIG.PHP.

    Найти его вы сможете в корне удаленного хоста, подключившись к северу вашего хостинга по FTP. Откройте файл WP-CONFIG.PHP на редактирование и добавьте в него строчку кода:

    Define("EMPTY_TRASH_DAYS", 0);

    Если вы по каким-либо причинам не захотите отключать корзину в Вордпресс на совсем, а только захотите уменьшить время хранения в ней записей, то вставьте в WP-CONFIG.PHP следующую строчку кода:

    Define("EMPTY_TRASH_DAYS", 3);

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

    Удачи вам! До скорых встреч на страницах блога сайт

    Вам может быть интересно

    Simple Counters и Category and Page Icons - красивые счетчики RSS и Twitter, а так же иконки для категорий и страниц в WordPress
    Comment Toolbar - добавляем в комментарии WordPress возможность ответа и цитирования
    Снижение потребляемой в WordPress памяти при создании страниц - плагин WPLANG Lite для подмены файла локализации
    Подсветка кода и кнопки форматирования комментариев в WordPress - SyntaxHighlighter и Comment Form
    Google XML Sitemaps - создание карты сайта для WordPress
    Создание в WordPress карты блога для посетителей (плагины Sitemap Generator и WP DS Blog Map)
    Создание списка похожих материалов в WordPress (с миниатюрами) при помощи плагина Related Posts для внутренней линковки
    Как проверить сайт на битые ссылки - Xenu Link Sleuth, плагин и онлайн-сервис Broken Link Checker, а так же поисковые системы
    Subscribe To Comments для WordPress - подписка на комментарии к статьях в Вордпресс Как в плагине Yet Another Related Posts убрать прозрачный пиксель http://yarpp.org/pixels и изменить надпись Похожие материалы

    Здравствуйте, друзья! В этом уроке мы поговорим о том, как защитить свой сайт на WordPress от спама в комментариях. Проблема спама актуальна и достаточно болезненна для многих владельцев сайтов, но если ваш сайт построен на WordPress — проблему защиты от спама можно решить очень быстро, просто и навсегда .

    Установка и настройка плагина Akismet

    Защищать сайт от спама мы будем с помощью возможно лучшего плагина для защиты от спама — Akismet . Данный плагин используют миллионы людей, а его надежность проверена мной лично на этом сайте. Плагин для персонального использования полностью бесплатный !

    Из приятного можно отметить то, что данный плагин для защиты использует не раздражающие всех капчи, а проверку оставленного комментария проводит с помощью базы данных комментаторов на сервере Akismet, которые были помечены как «спамеры».

    И так, для того чтобы защитить свой сайт от спама нужно сделать следующее:

    1. Активируем плагин Akismet . Плагин автоматически устанавливается по умолчанию при установке WordPress. Если вы его случайно удалили — скачайте и установите повторно.

    2. Теперь нам необходимо получить API-ключ . Для этого нужно зарегистрироваться на официальном сайте плагина http://akismet.com/wordpress/.

    После того как зашли на сайт плагина , нажимаем по кнопке «GET AN AKISMET API KEY» .

    3. В открывшемся окне указываем рабочий почтовый ящик , логин и пароль для регистрации. После ввода данных нажмите кнопку «Sign up». Также проверьте почтовый ящик который вы указали при регистрации. На него придет письмо, внутри которого нужно нажать кнопку « Activate Account» для активации аккаунта.

    4. После нажатия кнопки «Sign up» вы перейдете на новую страницу, на которой нужно в первом блоке «Personal» нажать по кнопке «SIGN UP» .

    5. В открывшемся окне указываем имя и фамилию. Ползунок справа перетаскиваем в самое начало, на показатель «0,00/yr» и нажимаем кнопку «CONTINUE».

    6. После нажатия кнопки появится всплывающее окно, в котором будет указан ваш API-ключ .

    7. Скопируйте ключ и перейдите с административной панели WordPress в Настройки -> Akismet .

    8. Вставьте скопированный API-ключ и нажмите кнопку «Подключить» .

    Готово! Теперь плагин Akismet настроен, и начнет защищать ваш сайт от спама. Заметьте, что API-ключ который вы получили можно использовать на всех ваших сайтах построенных на WordPress.

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

    Здравствуйте, друзья! В этом уроке мы поговорим о том, как защитить свой сайт на WordPress от спама в комментариях. Проблема спама актуальна и достаточно болезненна для многих владельцев сайтов, но если ваш сайт построен на WordPress - проблему защиты от спама можно решить очень быстро, просто и навсегда. Установка и настройка плагина Akismet Защищать сайт от спама мы будем с помощью возможно лучшего плагина для защиты от спама - Akismet. Данный плагин используют миллионы людей, а его надежность проверена мной лично на этом сайте. Плагин для персонального использования полностью бесплатный! Из приятного можно отметить то, что данный плагин для защиты использует не раздражающие…

    Обзор

    Проголосуйте за урок

    100

    Привет дорогой читатель! Сегодня речь пойдет про wordpress комментарии, про спам комментарии в блогах. Я думаю, Вам как и мне, уже надоело постоянно заходить в папку «спам» и вручную перебирать комментарии автоматического или еще хуже ручного спама. После чего выискивать в этой куче хлама хороший, осмысленный комментарий, который затесался в папку спам комментарии по ошибке.

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

    В общем, решил попробовать, внедрил хак на свой блог. После трех месяцев полет удачный, ни одного спам комментария за три месяца. В это трудно конечно поверить, но это так. После эксперимента пришел к выводу, что мои читатели просто обязаны знать про защиту wordpress от спам комментариев, с помощью полезного хака — «подмена полей»!

    Суть метода!

    Для ручного спама мы как всегда поставим плагин «Akismet» . Я думаю, он должен стоять практически у каждого блоггера. Если еще не стоит, то в интернете есть масса литературы про то, как его поставить и как активировать. Данный плагин будет защищать наш блог от ручного спама в комментариях. А хак «подмена полей», в свою очередь, защитит блог от авто спама.

    Думаю, стоит отметить два больших плюса такого танца с бубном: первое — избавляемся от постоянной проблемы авто спам и второе — больше не придется править файлы движка после обновления WordPress. Правда как всегда есть и минус, придется подшаманить два файла в нашей теме, comments.php и style.css . Но как по мне, данный минус незначителен.

    Суть метода примерно следующая! Если Вы продвинутый блоггер, то должны знать, что стандартное поле для ввода комментариев имеет имя comment , поэтому мы скроем настоящее поле и подсунем вместо него новое поле real-comment .

    Для ваших читателей и посетителей все останется как раньше, но теперь они будут заполнять видимое поле real-comment . А вот спам-скрипты будут заполнять стандартное поле comment , которое мы скроем. Они-то не понимают, что человек не сможет заполнить текстовое поле, которое не видно на страницах блога. Вот тут мы и подловим спам комментарий, ведь такой комментарий определится по заполненному невидимому полю comment .

    В общем, все просто как дважды два. Человек заполняет видимое поле real-comment , а спам-скрипт заполнит по старинке стандартное поле comment , но уже невидимое. Заполненное невидимое поле и будет спам комментарием! :-) Думаю самое время приступить к делу!

    1. Комментарии через функцию «comment_form ()»

    Если у вас комментарии выводятся через функцию comment_form() (эта функция была введена в WordPress 3.0 для того, чтобы с помощью файла functions.php , можно было полностью заменить стандартную форму комментариев). Если ваш шаблон использует именно такую функцию, то необходимо открыть файл functions.php и добавить туда следующий код:

    //Добавление своего поля для ввода комментария add_filter("comment_form_defaults", "change_comment_form_defaults"); function change_comment_form_defaults($default) { $commenter = wp_get_current_commenter(); $default["comment_notes_after"] .= "

    "; return $default; } //END добавление своего поля для ввода комментария

    Теперь скрываем наше стандартное поле comment , через файл «style.css» :

    Comment-form-comment {display: none;}

    Итак, с первой частью хака мы справились. Теперь у нас есть поле real-comment , которое видит и может заполнить посетитель, и стандартное поле comment , которое скрыто! В следующем шаге нам необходимо определить, какое из данных полей пропускать, а какое запрещать. Если заполнено видимое поле, то пропускаем, а если заполнено невидимое поле, то запрещаем. Для этого открываем файл functions.php и добавляем туда код:

    2. Комментарии не через функцию «comment_form ()»

    Если у вас комментарии выводятся не через функцию comment_form() , как у меня! В этом случае открываем файл comments.php и находим там код, выводящий поле для ввода комментария. Что-то похожее на:

    Данный код необходимо заменить на:

    Теперь надо скрыть стандартное поле для ввода комментария. Для этого откройте файл стилей вашего шаблона «style.css» и добавьте туда код:

    No-spam {position: absolute; left: -1000px;}

    No-spam {display: none;}

    Также и в данном способе не забываем добавить код в файле functions.php , для определения, какое из данных полей пропускать, а какое запрещать.

    //Проверка на спам add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("Спаму нет!"); $comment_content = trim($_POST["real-comment"]); $_POST["comment"] = $comment_content; return $commentdata; } //END проверка на спам

    Вот в принципе и все! Теперь спам комментарии больше вас и ваш блог не потревожат. Если вы сомневаетесь, все ли сделали правильно, можете проверить работу данного хака по защите wordpress от спама. Для этого необходимо убрать из файла style.css внесенные изменения, обновить страничку блога, заполнить каждое поле комментариев и попытаться опубликовать комментарий!

    Все вопросы, пожелания и замечания, пишите в комментариях к статье.

    Защита от спама в WordPress – рано или поздно все блогеры задаются этим вопросом. Есть разные способы борьбы со спамом.Самый простой, но не самый лучший способ это установить палагин.

    Вот парочка самых популярных:

    Вместо этого я просто сделал эту защиту от спаса вручную – способ очень простой.

    Способ заключается в том, что мы скрываем стандартное поле для ввода комментария ‘comment ‘ и заменяем его на новое созданное поле ‘real-comment ‘. Для посетителей все останется без изменений они и не заметят разницы, а вот спам-скрипты при попытке заполнить стандартное поле с именем ‘comment ‘ будут попадать на фильтр запрещающий им комментировать.


    1. Проверка на спам.

    Начнем мы с добавления фильтра спама, у нас в форме комментария будет 2 поля. Одно скрытое – это стандартная форма ‘comment ‘ и второе поле – это новое созданное нами поле. Добавляем функцию которая будет определять, если поле было заполнено комментатором – это видимое в шаблоне, то комментарий пропускается, а если скрытое, то публикация запрещается.

    Для этого вставим такой код в functions.php :
    //проверка на спам
    add_filter(‘pre_comment_on_post’, ‘verify_spam’);

    function verify_spam($commentdata) {
    $spam_test_field = trim($_POST[‘comment’]);
    if(!empty($spam_test_field)) wp_die(‘Спаму нет!’);
    $comment_content = trim($_POST[‘real-comment’]);
    $_POST[‘comment’] = $comment_content;
    return $commentdata;
    }

    2. Добавляем в шаблон новое поле для ввода комментария.

    Существует два варианта как это можно сделать:

    1. Если у Вы используете вывод формы комментария не через функцию comment_form() (полностью заменяет форму комментария). В этом случае редактируем файл comments.php шаблона, находим там что-то похожее на данный код:

    И заменяем его на код:

    2. Второй вариант, если в шаблоне для вывода формы комментариев Вы используете функцию comment_form() . Для добавления нового поля откройте файл шаблона functions.php и добавьте туда код:

    //добавление своего поля для ввода комментария
    add_filter(‘comment_form_defaults’, ‘change_comment_form_defaults’);

    function change_comment_form_defaults($default) {
    $commenter = wp_get_current_commenter();
    $default[‘comment_notes_after’] .=

    ‘;
    return $default;
    }

    На этом все, готово. У нас есть видимое поле для ввода комментария ‘real-comment ‘ (можно использовать любое имя), а стандартное ‘comment ‘ поле скрытое от посетителей. И есть функция которая фильтрует эти поля. Больше автоматический спам вас не побеспокоит.

    Здравствуйте, уважаемые читатели блога сайт. Небольшой пост из серии «а ларчик просто открывался». Последние года четыре . Однако в последнее время он стал пропускать — с каждым днем все больше и больше. В связи с чем пришлось искать ему замену, ибо вручную удалять сотни спаммных комментариев не очень улыбалось.

    Почитал про разные имеющиеся на рынке плагины — как с капчей, так и без нее. И по ходу дела несколько раз наткнулся на описание того способа избавления от спама в WordPress , который в итоге и применил. У него есть ряд преимуществ и всего один недостаток — придется чуток покопаться в коде (но самую малость). Зато в результате получаете рабочий вариант спаморезки, без и без создания дополнительной нагрузки на блог за счет установки плагина.

    Как направить спам-ботов по ложному пути?

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

    Однако, робота этого можно попытаться обмануть в той области, где не шибко искушен. Главное, чтобы он считал, что с успехом выполнил свою работу — распространил спам по страницам вашего блога. Для обмана мы добавим на сайт еще одну форму для ввода текста комментария . Если их будет две, то какую выберет робот для добавления поста? Правильно, скорее всего, первую. Тут ведь действует та же логика, что и в ироничной миниатюре про два девятых вагона, когда все логично считали, что 9 вагон это тот, который следует сразу после 8, а не тот, что находится перед 10.

    Вот тут получается примерно такая же история. Мы создаем две формы, одну из них (первую, которую робот и будет использовать) сделаем (данные из нее никуда отправляться не будут) и невидимой обычным посетителям. Т.к. они первую форму на сайте видеть не будут, то воспользуются второй формой, которая будет исправно работать и добавлять комментарии, оставленные людьми на блог.

    Спам-роботы же будут находить первой «купированную» форму (им ведь не требуется видеть ее на блоге) и весь спам уйдет в никуда, не причиняя вам ровным счетом никакого беспокойства. При этом никаких капч (даже простейших) посетителям вашего блога разгадывать не придется, что серьезно может повысить количество оставляемых комментариев (с полезным содержанием).

    Итак, чтобы все это дело реализовать на практике, большого ума не надо. Однако, по традиции, советую вас . Все файлы, которые нам понадобятся, находятся в папке с используемой вами темой оформления (/wp-content/themes/имя_темы). , чем редактировать эти файлы через админку WordPress, ибо во втором случае у вас могут возникнуть проблемы с отменой внесенных изменений.

    Самодельная спаморезка в теме оформления WordPress

    Для начала нужно будет найти в файлике comments.php участок кода, который отвечает за вывод на страницы постов поля для добавления комментариев. Если вы , который нам и нужно будет найти в коде файла comments.php. Если его там не окажется, то значит у вас иное устройство темы, чем у меня и, скорее всего, форма для оставления комментария формируется с помощью специальной функции. В этом случае порядок действий будет чуток другой.

    Теперь копируете эту строку (не мою, а свою, в вашем файлике comments.php) и вставляете сразу за самой собой, чтобы получилось примерно так:

    Если заметили, то я во второй строке заменил name="comment" id="comment" на name="struktura" id="struktura" . Вы должны сделать то же самое, но только вместо struktura использовать можно все, что угодно (потом просто замените это в коде фильтра приводимого чуть ниже).

    Понятно, да? Мы таким образом создали вторую форму для ввода комментария (если сохраните сейчас произведенные изменения, то увидите в реале две этих формы на своем блоге). Первая из них будет «пустышкой» для наивных спам-роботов (мы ее сейчас спрячем от глаз пользователей), а вторая будет рабочей формой, которой и будут пользоваться ваши комментаторы, ибо ничего другого они и не увидят.

    Поэтому следующим шагом будет открытие файлика style.css из папки с вашей темой оформления. Где-нибудь внизу его можете дописать:

    #comment {display:none;}

    После чего первая (фиктивная) форма для комментариев исчезнет со страниц вашего блога на WordPress. Все просто, но мне тут нашептали, что следует избегать из-за опасений навлечь немилость поисковиков (не знаю оправданы ли эти опасения) — типа вы что-то скрываете, делая часть сайта невидимой для посетителей (некий отдаленный аналог клоакинга получается).

    Textarea#struktura {margin-top:-60px;overflow:hidden; } textarea#comment input {margin-top:10px;}

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

    Итак, нужного визуального эффекта мы добились. Осталось еще добавить фильтр, который бы отключал добавление комментариев через первую (основную по умолчанию) форму и передавал бы ее полномочия второй форме, которая будет доступна посетителям. Для этого нужно будет открыть (архиполезный) и добавить в него (аккуратно, чтобы не поломать уже имеющийся там код) этот фильтр (не забудьте заменить struktura на то, что использовали вы):

    Add_filter("pre_comment_on_post", "verify_spam"); function verify_spam($commentdata) { $spam_test_field = trim($_POST["comment"]); if(!empty($spam_test_field)) wp_die("спам"); $comment_content = trim($_POST["struktura"]); $_POST["comment"] = $comment_content; return $commentdata; }

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

    Удачи вам! До скорых встреч на страницах блога сайт

    Вам может быть интересно

    Смайлики в WordPress - какие коды смайлов вставлять, а так же плагин Qip Smiles (красивые смайлики для комментариев)
    reCAPTCHA - простейшая капча Я не робот от Google Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне
    Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка Граватар - как создать глобальный аватар и настроить вывод иконки Gravatar в теме Вордпресса Пустая страница при просмотре больших постов (статей) в WordPress Пропало левое меню в админке WordPress после обновления Где скачать WordPress - только с официального сайта wordpress.org
    Оптимизация и сжатие CSS в Page Speed - как отключить внешние файлы стилей и объединить их в один для ускорения загрузки
    Как писать статьи в WordPress - визуальный и Html редакторы, заголовки и выделение ключевых слов Бесплатные темы и шаблоны для WordPress - где их можно скачать
    Настройки блога на WordPress, которые вы должны сделать сразу после его установки