Ограничение доступа к каталогу из контекста веб-приложения

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

Предположим, что веб-приложение находится под «загрузкой файлов», и все файлы сохраняются в папке «xyz» под «загрузкой файлов», поэтому теперь, если пользователь указывает на URL-адрес, например

www.xyzpqr.com/fileupload/xyz/abc.doc, он получает этот файл.

Как мне предотвратить это.. Я думал поместить папку xyz в папку WeB-inf, но, поскольку мое приложение очень большое, мне нужно внести изменения в слишком многих местах.. так что есть ли способ, чтобы без перемещения папки в web-inf (папки с ограниченным доступом) я могу добиться того, чего хочу..


person Yogi    schedule 05.04.2010    source источник


Ответы (3)


Во многих случаях это то, что вы можете установить в конфигурации веб-сервера, на котором хранятся ваши файлы. Вы можете требовать пароли для доступа к каталогам или даже ограничивать вещи. В зависимости от реализации, какой именно файл конфигурации вам нужно посмотреть, зависит от того, какой именно файл конфигурации вам нужно посмотреть, но некоторые распространенные из них — это http.conf и .htaccess.

Если вы не уверены, возможно, стоит связаться с вашей хостинговой компанией и/или с сетевым администратором.

person Jeffrey Blake    schedule 05.04.2010

Привет, если вы используете веб-сервер Apache, вы можете защитить каталог паролем. Но вам нужно иметь возможность редактировать/создавать файл .htaccess. Вот решение для сервера WAMP: http://php-mysql.develop.sitefrost.com/PHP/security.php

Это очень похоже на другие платформы. Когда кто-то хочет получить доступ к защищенному каталогу, он должен сначала ввести имя пользователя и пароль.

person Mike Arnold    schedule 05.04.2010

Я бы предложил создать фильтр, который проверяет каждый URL-адрес, чтобы узнать, есть ли у пользователя доступ к этому конкретному файлу, и отклоняет запрос, если нет.

Это дает вам полный контроль.

person Thorbjørn Ravn Andersen    schedule 05.04.2010