Запретить доступ или автоматическое удаление readme.html, license.txt, wp-config-sample.php
Просто быстрый вопрос, который может немного помочь с безопасностью. Я заметил, что readme.html в файле указан номер версии. Он появляется снова после каждого обновления, как и licence.txt, и wp-config-sample.php .
Есть ли простой способ заставить WordPress автоматически удалять эти файлы после обновления?
Я уже заблокировал отображение номера версии в мета-тегах, rss-каналах, atom и т. Д.
Я знаю, что этот тип безопасности не совсем это очень полезно, но я просто подумал, что это может быть крошечным началом. Я слышал, что люди могут просто проверить версию jQuery, которая включена в WP-включает и перекрестную ссылку на то, какая версия WP ее отправила.
3 answers
На самом деле вам не нужно удалять эти файлы. Гораздо проще просто заблокировать к ним доступ. Если вы используете красивые 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 в блокноте или любом другом базовом текстовом редакторе, добавьте директивы и сохраните, убедившись, что текстовый редактор точно сохраняет имя файла - без каких-либо .txt в конце.
Вот мое мнение:
RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) - [R=404,NC,L]
- 404 (не существует), а не 403 (запрещено), чтобы избежать каких-либо намеков на существование.
- также во вложенных папках (т.е. темах и плагинах, которые могут предлагать возможности для атаки)
- регистр не учитывается, расширение гибкое, также улавливает README.html, или license.html (не стесняйтесь добавлять типичных подозреваемых, таких как списки изменений|часто задаваемые вопросы|вклад)
Лично я бы также заблокировал:
RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ - [NC,F]
Примечание:
- '?:' просто объявляет скобка должна быть несоответствующей (не имеет значения).
- требует, чтобы RewriteEngine был
on
(скорее всего, это так. было бы редкостью использовать 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');