Intereting Posts
Single.php Класс активной категории Миграция с CMS Made Simple в WordPress Как создать WP_Query с помощью кода? WPTouch – как удалить короткие коды или сделать функцию коротких кодов Изменение имени страницы после создания страницы Изображения в сетке Twenty Eleven theme Как добавить шаблон страницы из плагина без потери $ this Сохранение подсветки меню «current-menu-item»? Изменение места публикации моего автора Как менеджер магазина может просматривать веб-сайт, находясь под техобслуживанием? как отредактировать формат bbp_forum_freshness_link () WordPress 3.5: настройка пользовательского «полного URL-пути к файлам» в медиа-библиотеке? Как вставить форму Javascript непосредственно на страницу? Разрешить пользователю вручную устанавливать область обрезки по умолчанию / настраиваемые размеры изображения при загрузке Как получить расширенное значение настраиваемого поля в соответствии с использованием идентификатора POST?

Высокое использование ЦП на 404 ошибках

После отладки высокой загрузки процессора в течение недели я обнаружил, что URL-адреса, представленные на моем сайте WordPress, которые приводят к 404 ошибкам, вызывают высокий уровень использования ЦП. Я тестировал свой сайт с помощью jmeter. Когда я запрашиваю файл, который существует с 5 запросами в секунду, использование центрального процессора составляет 3,7%. Когда я запрашиваю файл, который не существует с 5 запросами в секунду, использование центрального процессора составляет 69%.

Я использую WAMP: Windows Server 2008 R2 Standard, sp 1, 64-bit. Версия Apache версии 2.4 MySql 5.6.9 PHP версия 5.4.13 4 ГБ ОЗУ Intel Xeon CPU 2,93 ГГц (2 процессора)

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

RewriteCond %{REQUEST_URI} !(\.action|\.aro|\.ascx|\.asf|\.asp|\.aspx|\.asx|\.avi|\.bat|\.bmp|\.ca|\.cfg|\.cfm|\.cgi|\.class|\.css|\.de|\.divx|\.dk|\.dll|\.doc|\.docx|\.ee|\.el|\.eot|\.es|\.et|\.exe|\.fbcindex|\.gif|\.gz|\.gzip|\.htaccess|\.htm|\.html|\.ico|\.inc|\.ini|\.jpe|\.jpeg|\.jpg|\.js|\.log|\.m4a|\.m4v|\.mdb|\.mid|\.midi|\.mov|\.mp3|\.mp4|\.mpe|\.mpeg|\.mpg|\.mpp|\.nl|\.no|\.nsf|\.odb|\.odc|\.odf|\.odg|\.odp|\.ods|\.odt|\.ogg|\.pdf|\.php|\.phtml|\.pl|\.png|\.pot|\.pps|\.ppt|\.pptx|\.properties|\.pt-br|\.qt|\.ra|\.ram|\.rtf|\.rtx|\.sh|\.shtml|\.svg|\.svgz|\.swf|\.tar|\.tif|\.tiff|\.ttf|\.tw|\.txt|\.wav|\.wax|\.wma|\.wmv|\.wmx|\.wof|\.wri|\.wsgi|\.wwwacl|\.xla|\.xls|\.xlsx|\.xlt|\.xlw|\.xml|\.xsd|\.xsl|\.zip)$ [NC] 

Это решение хорошо подходит для известных расширений. Проблема в том, что есть некоторые запросы, обычно представленные хакерами, которые выглядят как запросы, которые должен обрабатывать WordPress. Вот некоторые примеры:

 https://www.example.com/postnuke https://www.example.com/asp https://www.example.com/webmail https://www.example.com/c32web.exe/CheckError?error=99 

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

Это проблема безопасности, потому что это простой вектор атаки для DoS-атаки.

Было бы полезно узнать, есть ли у кого-либо еще такая проблема. Интересно, есть ли у меня что-то неправильно сконфигурированное или это просто ограничение WordPress. Любые идеи о том, как лучше справиться с этой проблемой?

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

Solutions Collecting From Web of "Высокое использование ЦП на 404 ошибках"