Как установить ограничения на загрузку файлов в WordPress

|

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

Почему важно ограничивать загрузку файлов в WordPress

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

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

Ограничение размера загружаемых файлов через functions.php

WordPress по умолчанию наследует максимальный размер загрузки из настроек PHP. Но можно дополнительно ограничить размер через код. Вот пример функции с префиксом wporg_, которая ограничит максимальный размер загружаемого файла до 2 МБ:

function wporg_limit_upload_size( $file ) {
    $max_size = 2 * 1024 * 1024; // 2 МБ в байтах
    if ( $file['size'] > $max_size ) {
        $file['error'] = 'Ошибка: размер файла не должен превышать 2 МБ.';
    }
    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'wporg_limit_upload_size' );

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

Ограничение типа загружаемых файлов

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

function wporg_restrict_file_types( $file ) {
    $forbidden_types = [ 'exe', 'bat' ];
    $file_ext = pathinfo( $file['name'], PATHINFO_EXTENSION );
    if ( in_array( strtolower($file_ext), $forbidden_types ) ) {
        $file['error'] = 'Ошибка: загрузка данного типа файлов запрещена.';
    }
    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'wporg_restrict_file_types' );

Вы можете расширить массив $forbidden_types по своему усмотрению, чтобы закрыть загрузку других опасных форматов.

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

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

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

Дополнительные советы по безопасности загрузок в WordPress

Кроме ограничений размера и типа, рекомендуется:

Эти меры помогут снизить риски и сохранить стабильность сайта.

Как отобразить сообщение об ошибке при превышении лимита

В приведенных выше функциях ошибка возвращается через массив $file['error']. WordPress автоматически покажет это сообщение пользователю при загрузке через медиа-библиотеку или формы. Если вы используете кастомные формы, убедитесь, что обрабатываете ошибки корректно.

Пример полного кода с ограничением размера и типа

function wporg_validate_upload( $file ) {
    $max_size = 2 * 1024 * 1024; // 2 МБ
    $forbidden_types = [ 'exe', 'bat', 'js', 'php' ];

    if ( $file['size'] > $max_size ) {
        $file['error'] = 'Ошибка: размер файла не должен превышать 2 МБ.';
        return $file;
    }

    $file_ext = pathinfo( $file['name'], PATHINFO_EXTENSION );
    if ( in_array( strtolower($file_ext), $forbidden_types ) ) {
        $file['error'] = 'Ошибка: загрузка данного типа файлов запрещена.';
    }
    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'wporg_validate_upload' );

Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин.

Итоги

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

Как сделать отслеживание пользователей в WordPress с помощью AJAX
04.12.2025
Как автоматически отключить неиспользуемые плагины в WordPress
20.06.2026
Как создать собственный шорткод в WordPress с применением кода
20.11.2025
Как ограничить загрузку файлов в WordPress по типу и размеру
13.08.2026
Как добавить настройку автообновления темы WordPress через код
31.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше