Защитите 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. Подсказка: вы можете найти полный путь к папке стандартных плагинов на странице администратора «Инструменты/Диагностика». Он отображается в разделе «Файловая система» в строке «Папка плагинов WordPress».
- Никаких косых черт в конце.
<?php
define('WP_PLUGIN_DIR', '/full/path/to/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».
Jim ( )
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
Gregory ( )
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');
Jim ( )
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.
Gregory ( )
Yes, that approach requires some technical background.