Как мне надежно ограничить доступ к моим файлам?

Здравствуйте! У меня есть вопрос, связанный с организацией доступа к функциональным файлам PHP на веб-сайте. В данный момент эти файлы находятся в папке func и защищены файлом .htaccess с параметром "deny from all". Они доступны только через оператор require_once другим файлам сайта, и прямой доступ к ним по ссылке не предполагается.

Как профессионалы обычно решают такую задачу? Применяют ли они такой же подход с использованием "deny from all", или же перемещают эти файлы на уровень выше папки www (папки с файлами сайта)? Спасибо!
  • 21 ноября 2023 г. 6:11
Ответы на вопрос 4
Существует несколько подходов к ограничению доступа к файлам на веб-сайте. Вот некоторые из них:

1. Использование .htaccess: Как вы уже упомянули, можно использовать файл .htaccess с параметром "deny from all" для ограничения прямого доступа к файлам. Этот подход обеспечивает простую и эффективную защиту файлов, особенно если веб-сервер работает на Apache.

2. Перемещение файлов на уровень выше папки www: Это одна из рекомендуемых практик безопасности. Перемещение функциональных файлов PHP на уровень выше папки, доступной из интернета, позволит исключить случайный прямой доступ к ним. Вы можете создать структуру каталогов следующим образом:

   - func (содержит функциональные файлы PHP)
   - www (содержит все файлы, доступные из интернета)

   После перемещения файлов PHP в папку func вы можете использовать относительный путь require_once для подключения этих файлов из файлов в папке www.

3. Использование системы контроля версий: Вы можете использовать систему контроля версий, такую как Git, для хранения функциональных файлов PHP в отдельном репозитории, к которому доступ имеют только авторизованные лица. Это обеспечивает дополнительные меры безопасности и контроля доступа к файлам.

4. Управление доступом с помощью сценария аутентификации: Такой подход может предоставить более гранулированный контроль доступа к файлам. Например, вы можете настроить сценарий аутентификации, который требует ввода логина и пароля для доступа к функциональным файлам.

В зависимости от конкретных требований безопасности вашего проекта вы можете выбрать один из этих подходов или комбинировать их. Важно учитывать требования безопасности и контролировать доступ к файлам, чтобы предотвратить несанкционированный доступ.
Вынесите файлы на уровень выше папки "www". 
 Лучше переместить файлы на уровень выше папки "www" и обращаться к ним вне этой папки через `require_once`.

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