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

Вопрос или проблема

Есть ли какой-либо негативный эффект, если я добавлю следующее правило переписывания в свою установку WordPress?
Я использую Apache Web Server и WordPress 6.6.2.

Примечание: что RewriteCond %{REQUEST_FILENAME} !-d отсутствует в правиле.

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

Моя обеспокоенность: в том, что это правило, которое также отказывает в доступе к директориям, может потенциально нарушить функциональность или использование WordPress.

    
    # /wordpress/.htaccess
    
    <IfModule mod_rewrite.c>
    # вернуть 404 для всех запросов, не ищущих существующий файл
    RewriteCond %{REQUEST_URI} ^/wordpress/(wp-content|wp-includes)/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ - [R=404,L]
    </IfModule>

Нет, это не должно оказать негативного эффекта – но это также и ненужно, если хостинг настроен правильно. Вызов несуществующих URL должен всегда приводить к 404. Директории могут быть исключением, если для них не отключена DirectoryListing на хостинге – тогда вы могли бы увидеть список всех файлов в директории при их вызове. Вам следует это проверить и при необходимости скорректировать.

Если вы используете Apache Web Server, то посмотрите в httpd.conf или config.ini, затем измените Options Indexes на Options -Indexes

    Options -Indexes

    #
    # Возможные значения для директивы Options: "None", "All",
    # или любое сочетание:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # FollowSymLinks является настройкой по умолчанию.
    #
    # Директива Options является как сложной, так и важной. Пожалуйста, смотрите
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # для получения дополнительной информации.
    #

Ответ или решение

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

Уменьшение функциональности сайта

При добавлении правила переписывания, как в вашем примере:

<IfModule mod_rewrite.c>
# вернуть 404 для всех запросов, не связанных с существующими файлами
RewriteCond %{REQUEST_URI} ^/wordpress/(wp-content|wp-includes)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ - [R=404,L]
</IfModule>

вы фактически блокируете доступ к директориям wp-content и wp-includes, если в них не находятся физически существующие файлы. Это может негативно повлиять на загрузку ресурсов, таких как JavaScript, CSS и изображения, необходимые для корректного отображения вашего сайта и его функциональности. В результате пользователи могут столкнуться с проблемами визуализации или даже с поломками функциональных элементов.

Проблемы с обновлениями и расширениями

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

Распространение ошибок 404

Хотя ваша цель — предотвращение доступа к директориям и возврат 404 для несуществующих файлов, это может создать дополнительные сложности для пользователей и поисковых систем. Не все запросы, которые не соответствуют существующим файлам, являются ошибочными. Например, некоторые плагины могут генерировать динамические URL-адреса, которые могут не иметь физического представления на сервере, но всё же должны быть доступны для корректной работы.

Плохая оценка в поисковых системах

Чрезмерный возврат ошибок 404 может негативно сказаться на SEO-оценке вашего сайта. Поисковые роботы могут неправильно интерпретировать блокировку доступа и относят ваш сайт к ресурсам с плохой качеством контента. Это может привести к падению позиций в поисковых системах и, как следствие, уменьшению трафика.

Рекомендации по настройке

Если ваша основная цель состоит в том, чтобы ограничить доступ к директориям для предотвращения просмотра структуры файлов, вы можете рассмотреть более безопасные методы, такие как:

  1. Деактивация индексации директорий: Убедитесь, что у вас установлено значение Options -Indexes в конфигурационном файле Apache (httpd.conf или config.ini). Это уже предотвратит вывод списка файлов в директории, что минимизирует риски.

    Options -Indexes
  2. Организация .htaccess: Перепишите ваше правило, добавляя условия, которые позволят доступ к определённым файлам и директориям, необходимым для работы WordPress. Используйте условия для различных путей, чтобы избежать нежелательных блокировок.

  3. Тестирование после внесения изменений: Всегда проверяйте измененные настройки, чтобы убедиться, что функциональность сайта не нарушена.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...