2011-02-21 3 views
0

У меня есть папка с защитой паролем/public_html/images, чтобы никто не мог видеть все изображения. Но теперь, когда я открываю php-страницу, в которой мне нужно разобрать конкретный iamge, тогда я получаю экран входа в систему. Как получить доступ к папке, защищенной паролем, от phpпароль доступа к паролю каталог

+0

Как вы защищали паролем свои файлы? – sarnold

+0

в хостинг-сайте, есть опция..защищенные каталоги, .... там я выбрал каталог и защищен ... я создал идентификатор пользователя и для доступа к нему .. но не знаю, как использовать в php для использования этого – subash

+0

PHP на самом деле не имеет легкого доступа к HTTP-защищенным каталогам, защищенным базой данных - он предоставляется или отклоняется HTTP-сервером до выполнения любого сценария. – sarnold

ответ

0

Что вы хотите предотвратить? Вы хотите, чтобы кто-то не видел имена файлов изображений, но разрешаете им получать любое изображение, когда они знают имя файла? В этом случае удалите чтения привилегии для конкретного каталога:

chmod 711 /path/to/directory 

Таким образом, никто, кроме владельца каталога может получить список имен файлов из каталога, но доступ к файлам по-прежнему допускается (1 является просто привилегия выполнения для каталога, необходимая для «обхода каталога»).

Конечно, вы должны убедиться, что имена файлов изображений действительно недопустимы, и надеемся, что ваши пользователи не будут распространяться по URL-адресам (что является простым способом обойти элементы управления доступом на обычных сайтах, таких как Facebook). Сделайте приличную проверку контроля доступа в своей программе, если вы действительно хотите получить доступ только к авторизованным пользователям или авторизованным пользователям или к чему-то подобному.

+0

Я не уверен, как запустить chmod 711/path/to/directory ... может ли сказать, где запустить этот – subash

+0

@subash, вы запускаете его в оболочке на своем веб-хосте. Как правило, вы можете использовать 'ssh' для входа на сервер для запуска таких команд. – sarnold

+0

Я получил его ... в файловом менеджере я могу видеть разрешение chnage .. и он работает ... спасибо lotttttttttttttttttttttt – subash

1

Попробуйте создать две папки для изображений. Один для общедоступных образов (который у вас будет href в вашем php-скрипте), другой для частных изображений, доступ к которым вам нужен только для вас.

В качестве альтернативы, если вы хотите, чтобы все они находились в одной защищенной паролем папке, на вашем сервере должен быть PHP-скрипт, который будет принимать аргумент имени файла. Прочтите это изображение с диска, а затем нажмите его пользователю с правильными заголовками. В вашем html будет что-то вроде

<img src="image.php?name=foo.jpg"> 
Смежные вопросы