доступ к защищенному паролем каталогу - PullRequest
0 голосов
/ 21 февраля 2011

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

Ответы [ 2 ]

1 голос
/ 21 февраля 2011

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

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

<img src="image.php?name=foo.jpg">
0 голосов
/ 21 февраля 2011

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

chmod 711 /path/to/directory

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

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

...