2010-11-01 3 views
0

Я хочу запретить доступ (от всех не зарегистрированных пользователей) ко всем файлам в каталоге из браузера.Запретить доступ к файлам каталога через браузер с помощью htaccess

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

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

Я думаю, что я могу сделать с некоторыми проверками состояния в php, но для первого, может ли кто-нибудь сказать мне правило htaccess достичь?

Спасибо

ответ

1

dont показать им фактический путь к папке, где хранятся их файлы.

Используйте файл php для загрузки загружаемого содержимого.

например: -? Download.php файл = mydocument.doc

Минусы:

  1. может быть медленным
  2. Нет поддержки Загрузить резюме (я предполагаю)
0

Вы можете отключить просмотр каталогов по умолчанию с помощью .htaccess.

  • Открой .htacces файл

  • искать варианты индексов

  • Если Options Indexes существует изменить его в Options -Indexes или же добавить опции -Indexes как новая линия

    Теперь функция просмотра каталогов должна быть отключена

1

Для части .htaccess доступа пользователей вы посмотрите here можете в .htaccess Password Generator

+0

Спасибо за решение ... это хорошо работает ... –

0

Там в статье, которая описывает контроля доступа функции веб-сервера Apache тщательно: http://httpd.apache.org/docs/2.0/howto/auth.html

Самый простой вариант выглядит следующим образом:

AuthType Basic 
AuthName "Restricted Files" 
AuthUserFile /usr/local/apache/passwd/passwords 

Кстати, эта часть:

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

потребует либо создания отдельных файлов паролей для каждой папки, либо некоторых дополнительных скриптов.

Есть некоторые проблемы с этим подходом:

  • Базовая схема аутентификации отправляет пароли в виде открытого текста, который не является хорошим, если ваш сайт доступен по протоколу HTTP (не HTTPS).Там также Digest тип аутентификации, но были некоторые проблемы с поддержкой браузера

  • операции Выход потребует браузер закрытия

Вообще, я бы рекомендовал:

  • Apache встроенный возможности - для простого контроля доступа без подробной настройки привилегий и прав пользователей

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

0

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

Заказ отрицать, позвольте
отрицают от всех

Смежные вопросы