...

Как предотвратить спам-комментарии WordPress от разрушения блога WordPress и отключения вашего сервера

378

Как предотвратить спам-комментарии WordPress от разрушения блога WordPress и отключения вашего сервера

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

Прежде всего, я просто хотел уточнить, что эта статья НЕ о том, как обнаруживать и отмечать комментарии как спам. Плагин WordPress Akismet уже довольно неплохо справляется с поиском и фильтрацией традиционных спам-комментариев WordPress.

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

Фото от BoxChain

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

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

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

Да, вы слышали это правильно. Всякий раз, когда я обновлял свою панель, я видел 20 или более спам-комментариев в своем фильтре Akismet. Фактически, количество спама делало все сайты на моем сервере чрезвычайно медленными или недоступными в течение длительного периода времени в те дни.

Проблема с WordPress

Теперь при нормальной работе мой блог хорошо работает в условиях интенсивного трафика из-за плагина под названием WP Super Cache.

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

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

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

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

Характеристики спам-ботов

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

  • Спам-боты обычно не принимают куки
  • Спам-боты могут оставить комментарий спам в считанные секунды
  • Спам-боты обычно не запускают JavaScript

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

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

Решение проблемы со спамом в комментариях

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

Поскольку спам-бот обычно не принимает куки-файлы, я мог легко обнаружить бота и направить его на страницу со статической ошибкой.

Первоначально я планировал разместить свой исходный код в этой записи блога, которую я написал в javascript (я был бы рад выслать его вам, если вам интересно), но после разговора с несколькими другими блоггерами я обнаружил, что тот же автор WP Super Cache, Доннча, уже написал плагин под названием Cookies For Comments, который по сути делает то же самое, что я только что написал.

Поскольку его плагин написан более элегантно, чем мой плагин javascript, я настоятельно рекомендую вам скачать его.

Но если вы планируете использовать плагин Donncha «Cookies для комментариев», убедитесь, что вы внесли следующее изменение в свой .htaccess, которое отличается от инструкций по установке плагина.

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

RewriteCond% {HTTP_COOKIE}! ^. 2071a9e39879b6a958b06162384d3c06. $
RewriteRule ^ wp- comments-post.php – [F, L]

Что делают эти 2 строки? По сути, эти строки кода обнаруживают присутствие секретного файла cookie, который был вставлен на компьютер пользователя. Если cookie отсутствует, пользователь или спам-бот направляются на страницу 404 WordPress или «страница не найдена».

Теперь проблема с этой настройкой по умолчанию заключается в том, что WordPress по-прежнему вызывается для обработки страницы 404, которая по-прежнему требует много ресурсов сервера.

Лучшим решением было бы использовать следующий код, где «error.html» – это страница статической ошибки на вашем сайте.

RewriteCond% {HTTP_COOKIE}! ^. 2071a9e39879b6a958b06162384d3c06. $
RewriteRule ^ wp-comments-post.php error.html [L]

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

Задача решена??? Не совсем

Таким образом, изменения, которые я описал выше, устранили проблему со спамом в комментариях, но после нескольких дней бесперебойной работы мой сервер снова вышел из строя! Просматривая логи моего сервера, я обнаружил следующее. По сути, какая-то мошенническая машина постоянно пыталась получить доступ к одному и тому же несуществующему файлу на моем сервере, который снова приводил к сбою сайта. Теперь с обычными веб-сайтами эти мошеннические обращения вообще не влияют на сервер.
mywifequitherjob.com GET /oxvumirserver33.rar mywifequitherjob.com GET /oxvumirserver33.rar mywifequitherjob.com GET /oxvumirserver33.rar

Однако WordPress обрабатывает все обращения к несуществующим файлам и отправляет пользователей на пользовательскую страницу 404 WordPress или «страницу не найдена».

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

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

Поэтому я решил добавить следующие строки в мой файл .htaccess.

RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteCond% {REQUEST_URI}! (Robots .txt | sitemap .xml (. Gz)?)
RewriteCond% {REQUEST_FILENAME} . (Css | js | html | htm | rtf | rtx | svg | svgz | txt | xsd | xsl | xml | asf |
asx | wax | wmv | wmx | avi | bmp | класс | divx | doc | docx | exe | gif | gz | gzip | ico | jpg | jpeg
| jpe | mdb | mid | midi | mov | qt | mp3 | m4a | mp4 | m4v | mpeg | mpg | mpe | mpp | odb | odc | odf | odg |
odp | ods | odt | ogg | pdf | png | pot | pps | pt | pptx | ra | ram | rar | swf | tar | tif | tiff | wav | wma
| wri | xla | xls | xlsx | xlt | xlw | zip) $ [NC]
RewriteRule. * – [L]

ErrorDocument 404 https://mywifequitherjob.com/404.html

Что делает весь этот код? По сути, когда с моего сервера запрашивается файл, который соответствует одному из указанных выше типов, я хочу, чтобы мой сервер вообще обходил WordPress. Если файл не существует, пользователь будет перенаправлен на страницу статической ошибки с именем 404.html.

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

Решает ли это все мои проблемы?

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

Например, всякий раз, когда кто-то пытается получить доступ к статье, которой нет в моем блоге, WordPress все равно загружается. Таким образом, теоретически, если кто-то захочет закрыть MyWifeQuitHerJob.com или любой блог WordPress по этому вопросу, все, что ему нужно будет сделать, – это снова и снова обращаться к несуществующим страницам сайта.

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

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

Вы читали это?

Everything you need to know to start a profitable blog and build an audience

  • Find a profitable niche
  • Setup a WordPress blog
  • Generate traffic to your site

Enter your primary email address below and receive my FREE 6 Day Mini-Course and weekly tips on How To Create A Profitable Blog

Learn How To Start A Profitable Blog

Источник записи: https://mywifequitherjob.com

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