Как защитить каталог паролем, но при этом предоставить пользователям доступ

Я создаю PHP-скрипт для своего веб-сайта, который позволит моим клиентам входить в свою учетную запись клиента и просматривать список файлов, которые я для них загрузил. Затем они могут загрузить их без повторного входа в систему или повторного ввода пароля.

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

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

Нечто подобное можно увидеть здесь: http://forums.cgsociety.org/showthread.php?f=76&t=808482

Во 2-м посте, если вы попытаетесь щелкнуть файл delete.jpg, он не позволит вам загрузить его без входа в систему. Я хочу, чтобы аналогичная функция была на моем сайте.

Сайт создан на PHP, с базой данных MySQL.


person Community    schedule 23.09.2009    source источник


Ответы (2)


Сама папка должна иметь установленные разрешения безопасности, чтобы обычные пользователи не имели к ней доступа, только любой пользователь, запускающий процесс PHP.

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

Изучите загрузчики файлов PHP, это довольно стандартное поведение.

person Rob Drimmie    schedule 23.09.2009

Вы можете использовать файлы cookie, чтобы указать, что пользователь был там раньше и был аутентифицирован. Сделайте значение cookie достаточно случайным, чтобы его нельзя было угадать. Я бы зашифровал username . timestamp и сохранил его вместе с именем пользователя, так что username_token и таким образом вы можете отсрочить людей и заставить их войти в систему, если хотите, позже.

Затем переместите файлы из каталога webapp и создайте программу cgi, которая покажет файлы в каталоге и позволит им загрузить их.

Таким образом, вы можете контролировать то, что видят люди, и какие действия разрешены.

person James Black    schedule 23.09.2009