Intereting Posts
Произошла непредвиденная ошибка. Что-то может быть не так с WordPress.org или конфигурацией этого сервера Пользовательская функция виджета в плагине не работает? Поиск в WordPress между двумя новыми значениями с пользовательским типом сообщения При каких обстоятельствах файл .maintenance не удаляется? Неограниченное количество ссылок на страницы Как искать с помощью ajax для точной фразы или слов в поле ввода? custom_list_table редактировать / удалять массовые действия Является ли ловушка спам-бот доказательством? Не ваш обычный класс «Memcached» не найдена ошибка Использование rewind_posts для отображения нескольких категорий цикл внутри цикла: поиск сообщений в той же категории get_comments_number () возвращает 0 Проверьте, существует ли значение до сохранения Установка размера изображения по умолчанию Функция для замены символов с акцентом комментария перед публикацией

Безопасность и использование плагинов

Из статьи codex о Must Use Plugins:

Можно включить просто путем загрузки файла в каталог mu-plugins без необходимости входа в систему

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

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

Я согласен с комментарием Вайка. Если я могу загружать файлы, игра заканчивается. Если я не могу загрузить в mu-plugins возможно, я мог бы загружать и перезаписывать файлы functions.php или Core. Любой из этих параметров работает так же хорошо или лучше, чем файл mu-plugin .

Часть «также изменить базу данных» не имеет значения, потому что, если я могу загружать файлы, модифицирующие базу данных, это тривиально. Просто запустите wp_insert_user или используйте $wpdb для запуска SQL для прямого изменения базы данных.

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

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