Как загрузить файлы PUB (или другого потока октетов) в WordPress, если вы не можете разрешить нефильтрованную загрузку

Моя текущая компания хочет иметь возможность загружать файлы Microsoft Publisher на защищенную паролем страницу в WordPress. Подтвержден тип MIME application/octet-stream и не application/x-mspublisher с точки зрения сервера WordPress.

Я знаю, что мы можем глобально отключить фильтрацию формата в wp-config.php (как рекомендуется здесь: Wordpress: Извините, этот тип файла не разрешен по соображениям безопасности при попытке загрузить стандартные файлы изображений), например:

define(‘ALLOW_UNFILTERED_UPLOADS’, true);

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

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

Я попробовал этот код в файле functions.php моей дочерней темы, и он все еще не работает.

function my_custom_upload_mimes($mimes = array()) {
    $mimes['pub'] = "application/octet-stream";
    return $mimes;
}

add_action('upload_mimes', 'my_custom_upload_mimes');

Я также использовал ключевую строку с заглавной буквы $mimes['PUB'], и это тоже не сработало.

Это сообщение об ошибке, которое я все еще получаю: Sorry, this file type is not permitted for security reasons.

Кто-нибудь написал приведенный выше код и понял, почему он все еще не работает?


person Josh Austin    schedule 03.10.2018    source источник