Почему WordPress не использует WP_Filesystem

В wp-admin / plugin-editor.php и wp-admin / theme-editor.php почему WordPress не использует $ wp_filesystem для чтения и изменения файла? если для записи и изменения файла не требуется wp_filesystem, то когда использовать wp_filesystem?

Solutions Collecting From Web of "Почему WordPress не использует WP_Filesystem"

Настоящая потребность в WP_Filesystem заключается в том, чтобы установить правильные права владельца файла / группы при записи новых файлов . Чтение или перезапись существующих файлов не изменяет эти разрешения, поэтому WP_Filesystem технически не требуется для этого (хотя вы также можете использовать его для этого).

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

Ссылка: http://ottopress.com/2011/tutorial-using-the-wp_filesystem/#comment-10820

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

Ответ. Если вы читаете файл, проблем нет . Если вы обновляете файл , в то время как нет проблем с владением , вы не должны обновлять файл в плагине или теме, потому что обновления будут потеряны при обновлении плагина или темы. Это означает, что для поддержки обновлений вам необходимо создать новый файл вне каталога plugin / theme, а это значит, что вы все равно должны использовать WP_Filesystem.

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

Но в более широком смысле вопрос можно рассматривать как «когда должна / должна использоваться файловая система WP?» Поскольку он выводит форму пользовательского администратора (когда правильные разрешения еще не установлены), он должен использоваться для доступа к администраторам при создании новых файлов (обычно с помощью страниц настроек).

Если можно создать новые файлы (как это часто бывает), это может привести к неполадкам пользователя, почему запрашиваются учетные данные (если вы не добавите что-то, чтобы объяснить это!) Если вы должны создать новые файлы, используйте Файловая система WP. Аналогичным образом, вы, вероятно, захотите использовать его для создания каталогов по тем же причинам (хотя каталоги не могут быть выполнены).

Лучшая практика заключается в том, чтобы использовать его для обновления файлов по мере возможности, так как он может предупредить пользователя о том, что права собственности на эти файлы неверны – они получат форму (но опять же не знают, почему, если вы не объясните это!) – но это не является строго необходимым. Использование его для чтения файлов также может быть выполнено (но совсем не обязательно).

Конечно, есть исключения и, в конце концов, это зависит от варианта использования . Дальнейшее обсуждение различных вариантов использования можно найти по той же самой ссылке.