Запретить доступ или автоматическое удаление readme.html, license.txt, wp-config-sample.php

Просто быстрый вопрос, который может помочь чуть-чуть с безопасностью. Я заметил, что в файле readme.html указан номер версии. Он появляется после каждого обновления, а также файл licence.txt и wp-config-sample.php.

Есть ли простой способ заставить WordPress автоматически удалить эти файлы после обновления?

Я уже блокировал номер версии из показа в метатегах, rss-каналах, атомах и т. Д.

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

Вам действительно не нужно удалять эти файлы. Гораздо проще просто заблокировать доступ к ним. Если вы используете довольно URL-адрес, у вас уже есть файл .htaccess. Использование .htaccess для блокировки файлов является безопасным, и вам нужно только добавить директиву один раз.

Блокирование файлов выполняется путем добавления директивы в .htaccess следующим образом:

<files filename.file-extension> order allow,deny deny from all </files> 

Итак, чтобы заблокировать readme.html, вы делаете это:

  <files readme.html> order allow,deny deny from all </files> 

Сделайте то же самое с файлом лицензии или любым другим файлом, который вы хотите запретить любому пользователю. Просто откройте .htaccess в Notepad или любом другом базовом текстовом редакторе, добавьте директивы и сохраните, убедившись, что текстовый редактор точно сохраняет имя файла – без конца .txt в конце.

Вот мой прием:

 RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L] 
  • 404 (не существует), а не 403 (запрещено), чтобы избежать каких-либо признаков существования.
  • также в подпапках (например, темы и плагины, которые могут предлагать возможности атаки)
  • нечувствительный к регистру, расширяющий гибкость, также ловит README.html или license.html (не стесняйтесь добавлять типичных подозреваемых, таких как changelogs | faq | contributing)

Лично я бы также блокировал:

 RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F] 

NB:

  • '?:' просто объявляет, что скобка не совпадает (не имеет значения).
  • требует, чтобы RewriteEngine был включен (скорее всего, это было бы редко, использовать wordpress без … (уродливые постоянные ссылки и т. д.)).
  • вставьте в раздел # BEGIN WordPress в вашем .htaccess
 add_action('core_upgrade_preamble','my_function_to_delete_files'); 

Изменить: вы также можете попробовать эти

 add_action('upgrader_pre_install','my_function_to_delete_files'); add_action('upgrader_post_install','my_function_to_delete_files');