Защищаем Wordress от перебора паролей с помощью Fail2Ban

fail2ban_and_wordpressНаверно, самым простым и действенным методом от перебора паролей является установка капчи. Но я как то не проникся идеей ее установки и решил задействовать более тяжелую артиллерию, а именно защитить от брутфорса с помощью Fail2Ban (Примечание: инструмент позволяющий защитить сервер от брутфорса таких сервисов как SSH, FTP, Apache и т.д). Fail2Ban не привязан к каким то конкретным сервисам. Блокировка происходит на основании шаблонов, которые определяются в файлах конфигурации. Fail2Ban в реальном времени отслеживание изменения в логах и, при появлении строки из объявленного шаблона, блокирует IP-адрес и высылает отчет на почту админу.

Поскольку добрые люди уже поработали надо дополнением к WordPress,- нам останется его только чуть допилить Fail2Ban для нашей системы. Итак, сначала установите в WordPress дополнение WP fail2ban, либо скачав и установив его «вручную», либо напрямую из раздела Плагины → Добавить новый.

(далее…)

Как избавиться от спама в WordPress раз и навсегда

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

Итак, первое что я сделал — это удалил все плагины с Capcha, блокированием по черным спискам и прочую неработающую фигню. Они нам больше никогда не понадобятся, а если и понадобятся — это только при регистрации.

В 99% случаев спамеры отправляют url своих ресурсов. От этого то и будем отталкиваться. В одной из предыдущих заметок я уже рассказывал, что убрал из формы отправки комментария параметр «Сайт». Так вот, спамеры все равно отправляют этот параметр заполненным в своем POST запросе. Этим то мы и воспользуемся. Если есть параметр ‘url’ — шлем спамера «подальше». Также я заметил, что спамеры в качестве текста комментария используют заголовок темы, потому если коммент будет совпадать с заголовком — шлем спамера «еще дальше».

И теперь самое главное — добавим в форму комментария свое поле, которое обязательно для заполнения. К примеру я использовал простое текстовое поле с просьбой ввести от пользователя url своего блога.

Открываем файл wp-includes/comment-template.php и ищем в нем функцию comment_form. В ней находим блок

В этот массив добавляем наше поле АнтиСпам.  В конечном счете оно выглядит так:

Далее нам будет необходимо обработать новое поле spam. Для этого открываем файл wp-comments-post.php в корне движка WordPress и находим блок

И сразу после него добавляем наш код, котором, если пользователь не авторизован,  будет происходить проверка что он не спамер

Далее необходимо отключить trackback, т.к. очень много спама валится через него. Долго искать решение не пришлось. В корне сайта просто удаляем или переименовываем файл wp-trackback.php.

На этом настройка своей АнтиСпам системы закончена. Приведу немного статистики — когда я использовал капчи и другие плагины, я удалял порядка 300-400 спам сообщений в день. В моем решении мне не пришло ни одного сообщения от спамеров. Скажем им «гуд бай» =)

Как убрать сайт из комментариев WordPress

Небольшая заметка в мемы. Открываем файл wp-includes/comment-template.php и ищем функцию comment_form. В ней находим объявление массива $fields. И удаляем элемент url, не забывая при этом про скобки и запятые. Вот как было у меня:

‘ . ‘ ‘ . ‘

‘, ’email’ => ‘

‘, ‘url’ => ‘

‘ . ‘

‘, );

Вот как стало:

‘ . ‘ ‘ . ‘

‘, ’email’ => ‘

‘ );

Сохраняем файл и радуемся =)

Локализация темы WordPress

Codestyling

После активации плагина в боковом меню консоли в меню «Инструменты» появляется пункт «Локализация». Переходим туда.

Localization

Если у русифицируемой темы нет русского языка, жмём «Добавить новый язык» и выбираем русский. Теперь в появившейся строке русского языка выбираем «Сканировать» и  в появившемся окне жмём кнопку «сканировать», а затем «завершить». Теперь в строке русского языка жмём «Редактировать». Появляется список фраз и переводов для них.

Снимок экрана 2013-03-26 в 15.54.31

Каждую фразу можно редактировать, нажав соответствующую ссылку напротив неё. Во многих фразах присутствуют динамически подставляемые параметры, которые обозначаются как «%s», которые должны присутствовать и в переводе. Не обязательно переводить все фразы, можно лишь самые необходимые. После перевода жмём кнопку «генерировать mo-файл» (над списком фраз) и наслаждаемся результатом.

После русификации всех нужных тем и плагинов, плагин «CodeStyling Localization» можно деактивировать и даже удалить. Все созданные .po .mo файлы останутся.