Как предотвратить спам-комментарии WordPress от разрушения блога WordPress и отключения вашего сервера
Как предотвратить спам-комментарии 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 можно будет исправить для решения этих проблем с сервером.
Примечание. Этот пост может содержать партнерские ссылки, что означает, что я могу получить комиссию, если вы совершите покупку при нажатии на ссылку. Пожалуйста, ознакомьтесь с нашей политикой конфиденциальности для получения дополнительной информации.
Вы читали это?
- Как остановить кого-то от плагиата вашего сайта и кражи вашего контента
- Fulfillment Center & 3PL – Лучшие предложения на 2020 год
- Amazon FBA Feal Calculator – Скрытые комиссионные за продажу, о которых вы должны знать
- Является ли ваш бизнес просто хобби в глазах IRS?
- Как построить богатство, разумно тратя деньги
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