Защитите WordPress: переименуйте папку плагинов
English version: Get WordPress protected: rename the plugins folder
Переименование папки плагинов — один из самых недооцененных способов усилить защиту WordPress. И все же это бесплатно и просто.
Почему это важно и как это работает
Согласно нашим исследованиям в Cerber Lab, большинство хакерских атак и попыток использования уязвимостей плагинов предполагают, что все плагины WordPress находятся в папке по умолчанию для всех плагинов, которая называется /wp-content/plugins/ . К счастью, имя этой папки можно легко изменить на любое, буквально за два простых шага. Означает ли это, что киберпреступники не имеют никаких знаний о возможности переименовать папку и вслепую атакуют местоположение плагина по умолчанию? Нет, не всегда, но подавляющее большинство веб-сайтов на базе WordPress используют структуру папок по умолчанию , и именно поэтому киберпреступники с легкостью используют эту слабость.
Наша аналитика показывает, что большинство веб-сайтов взламываются путем эксплуатации уязвимости в устаревшем плагине, и в большинстве случаев злоумышленник использовал уязвимость в PHP-файле, который находится в папке плагинов WordPress по умолчанию.
Совет:используйте сканер вредоносных программ Cerber, чтобы найти уязвимости в установленных плагинах .
Как переименовать папку плагинов WordPress
Прежде всего, вам необходимо иметь доступ к файлам на вашем сайте через панель управления хостингом, которая обычно имеет файловый менеджер. В качестве альтернативы вы можете использовать FTP-клиент.
Первый шаг — переименовать существующую папку плагинов WordPress в любое желаемое имя. Предположим, мы используем имя модулей . Обратите внимание, что имя папки плагинов должно содержать только символы ASCII. Просто напишите «используйте только буквы латинского алфавита».
Вторым шагом является добавление двух директив определения в файл wp-config.php , которые помогают WordPress распознавать и использовать новое имя папки плагинов. На этом этапе вы не можете использовать встроенный редактор файлов в панели администратора WordPress. Используйте редактор файлов из панели управления хостингом или FTP-клиента для редактирования файла wp-config.php. Смотрите пример ниже и обратите внимание:
- Вам необходимо добавить директивы в начало файла на следующей строке после <?php .
- Вам необходимо использовать полный путь к каталогу плагинов для WP_PLUGIN_DIR. Подсказка: полный путь к стандартной папке плагинов можно найти на странице администрирования Tools / Diagnostic. Он отображается в разделе Filesystem в строке "WordPress plugins folder".
- Никаких конечных слешей.
<?php
define('WP_PLUGIN_DIR', '/полный/путь/к/wp-content/modules');
define('WP_PLUGIN_URL', 'https://example.com/wp-content/modules');
Константа WP_PLUGIN_DIR определяет полный путь без завершающего слеша к переименованной папке плагинов.
Константа WP_PLUGIN_URL определяет URL-адрес без завершающего слеша вашей переименованной папки плагинов.
После выполнения этих двух шагов вы добавляете дополнительный уровень безопасности в свой WordPress. Другой механизм безопасности, который вам следует рассмотреть, — это включение запланированных сканирований на наличие вредоносных программ .
Возможные проблемы и их устранение
Сайт не загружается и выдает ошибки. Обычно это означает, что вы допустили опечатку в имени папки. Внимательно проверьте определения, которые вы добавили в wp-config.php, полный путь и указанный вами URL. Вам необходимо указать путь и URL вашего сайта. Не копируйте их из примера выше и не пытайтесь переименовать папку плагина или редактировать файл wp-config.php из панели инструментов WordPress.
Некоторые функции перестали работать. У вас на сайте установлен плохо спроектированный или устаревший плагин. Лучшее, что вы можете сделать, — избавиться от него. Нет никаких оправданий плохой разработке плагина. Разработчик плагина должен соблюдать стандарты кодирования WordPress.
Как восстановить имя папки плагинов по умолчанию
- Удалите все строки с директивами WP_PLUGIN_DIR и WP_PLUGIN_URL из файла wp-config.php
- Имя папки, в которой находятся плагины WordPress, по умолчанию — plugins, поэтому переименуйте папку плагинов обратно в plugins.
I tried changing the directory but it didn’t work.
Looking for more information I found something that works.
define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . /content/mod’);
define( ‘WP_PLUGIN_URL’, ‘http://example.com/content/mod’);
Why this way if it works and not the way you have in the post?
Has anything changed in the latest versions of WordPress?
The same thing happens to me with WP-CONTENT
Thanks
Yes, you can use this way too but it leaves some room for uncertainty because a constant should be constant. The perfect way is to define a static value like a string. It didn’t work for you most likely because the path you specified for WP_PLUGIN_DIR was not correct. Possibly because you had changed the default wp-content path to content. In this case, the full config should be:
// no trailing slashes
define('WP_CONTENT_DIR', dirname(__FILE__) .'/content');
define('WP_CONTENT_URL', 'https://example.com/content');
define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/mod');
define('WP_PLUGIN_URL', WP_CONTENT_URL . '/mod');
Thanks!
I started by following this other post https://wpcerber.com/turn-wordpress-into-fort-knox/
But I couldn’t get it to work well.
Yes, that approach requires some technical background.