Аудит и настройка прав доступа к файлам WordPress

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

Почему важно контролировать права доступа к файлам WordPress

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

Стандартные рекомендации WordPress гласят, что директории должны иметь права 755, а файлы — 644. Однако на практике бывают исключения, особенно для папок с загрузками и кешем.

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

Как проверить права доступа к файлам и папкам WordPress

Проверка через SSH и командную строку

Если у вас есть доступ к серверу по SSH, можно быстро проверить права с помощью команды ls -l. Например, перейдите в корень сайта и выполните:

cd /path/to/wordpress
ls -l

Вы увидите список файлов и папок с их правами, владельцем и группой. Важно, чтобы файлы имели права rw-r--r-- (т.е. 644), а папки — rwxr-xr-x (т.е. 755). Если права отличаются, это повод для проверки.

Проверка с помощью PHP-скрипта

Для удобства можно использовать скрипт, который проверит права доступа и выведет список файлов с неправильными значениями. Например, следующий код сканирует каталог и выводит файлы с правами, отличающимися от рекомендуемых:

<?php
function wpscan_check_permissions($dir) {
    $rii = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
    $errors = [];
    foreach ($rii as $file) {
        if ($file->isDir()) {
            $perms = substr(sprintf('%o', $file->getPerms()), -3);
            if ($perms !== '755') {
                $errors[] = "Директория: {$file} с правами {$perms}";
            }
        } else {
            $perms = substr(sprintf('%o', $file->getPerms()), -3);
            if ($perms !== '644') {
                $errors[] = "Файл: {$file} с правами {$perms}";
            }
        }
    }
    if (empty($errors)) {
        echo "Все права доступа настроены корректно.";
    } else {
        foreach ($errors as $error) {
            echo $error . "<br>";
        }
    }
}

wpscan_check_permissions(__DIR__);

Этот скрипт можно положить в корень сайта и запустить через браузер или командную строку. Он выведет все файлы и папки с правами, которые не соответствуют рекомендованным.

Оптимальные права доступа для файлов и папок WordPress

Для большинства сайтов с WordPress рекомендуются следующие права:

  • Директории: 755 — владелец может читать, писать и выполнять, группа и остальные — читать и выполнять.
  • Файлы: 644 — владелец может читать и писать, остальные — только читать.

Исключение составляют некоторые системные файлы и папки, например:

  • wp-config.php — иногда советуют ставить 600 или 640, чтобы ограничить доступ другим пользователям сервера.
  • Папки с временными файлами или кешем — могут требовать права записи (например, 775) в зависимости от настройки хостинга.

Важно, чтобы владелец файлов и папок совпадал с пользователем веб-сервера. Иначе даже правильные права могут не работать корректно.

Использование плагинов для аудита и исправления прав доступа

Если вы предпочитаете графические решения, можно использовать плагины для проверки безопасности, которые включают аудит прав доступа:

  • Acunetix WP Security Scanner — сканирует сайт, включая права доступа и уязвимости.
  • iThemes Security — комплексный плагин безопасности с функциями проверки прав файлов.
  • Clearfy Pro — расширенный инструмент оптимизации и безопасности, который позволяет настроить права доступа и убрать потенциальные уязвимости.

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

Как автоматически исправить права доступа с помощью PHP

Для удобства можно написать функцию, которая автоматически исправляет права доступа в каталоге WordPress. Например:

function wpscan_fix_permissions($dir) {
    $rii = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
    foreach ($rii as $file) {
        if ($file->isDir()) {
            chmod($file, 0755);
        } else {
            chmod($file, 0644);
        }
    }
    // Особый файл wp-config.php
    if (file_exists($dir . '/wp-config.php')) {
        chmod($dir . '/wp-config.php', 0640);
    }
    echo "Права доступа успешно исправлены.";
}

// Используйте с осторожностью, запуск через браузер может быть опасен
// wpscan_fix_permissions(__DIR__);

Внимание: запускать такую функцию нужно только если вы уверены в своих действиях и имеете резервную копию сайта. Неправильное использование может привести к проблемам с доступом.

Заключение по аудиту прав доступа в WordPress

Регулярный аудит и корректная настройка прав доступа — базовая практика для безопасного и стабильного сайта на WordPress. Используйте SSH для проверки, дополнительно — простые PHP-скрипты для автоматизации, а для удобства и комплексного подхода — проверенные плагины безопасности.

Если хотите более удобные инструменты для управления безопасностью, рекомендую ознакомиться с Clearfy Pro на wpshop.ru — он поможет быстро исправить многие проблемы без сложных настроек.

Как автоматизировать удаление старых постов в WordPress по дате
27.03.2026
Как защитить WordPress от приватных регистраций с помощью капчи и плагинов
12.02.2026
Защита WordPress от атак через XML-RPC
17.12.2025
Как установить лимит на запросы REST API WordPress для защиты сайта
21.03.2026
Как удалить заблокированные и замедленные заказы WooCommerce с помощью кода
29.05.2026