• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Скрытый файл по запросу.php

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Подскажите, пожалуйста, как сделать такую штуку:

Дано:
На сервере лежит файл.
Нужно его отправить пользователю на скачивание специальной командой.

Особенности:
Прямая ссылка на файл не должна работать!
Файл отправляется только после ввода накоего пароля.

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

Web-технологии изучаю недавно, поэтому многого еще не знаю.

Спасибо.
 
L

Leviathan

Вариант, который я использую в моей системе базы файлов:

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

есть скрипт - dl.php, ему дается параметром ID номер файла, он находит файл в базе, открывает его сам из того самого мудреного каталога и формирует из него вывод через себя самого. таким образом, пользователь только может попасть к файлу через dl.php - ну а там уже можно предусмотреть защиту от "нелегального доступа", типа тех же сессий пользователей и т.д. и т.п.
 
S

_serg_

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

ioni

<!--QuoteBegin-Leviathan+3:07:2006, 20:44 -->
<span class="vbquote">(Leviathan @ 3:07:2006, 20:44 )</span><!--QuoteEBegin-->Вариант, который я использую в моей системе базы файлов:
[snapback]39422" rel="nofollow" target="_blank[/snapback]​
[/quote]
И, насколько я понимаю, при каждом прохождении dl.php проходит проверка на существующие файлы, которые были закачаны и их. соответсвенно скрипт убивает (потому как не нужны больше)?
 
L

Leviathan

В моей системе файлы загружаются в доступ всех пользователей, зачем их удалять после закачки? Хотя если файл выкладывается один раз для закачки одним пользователем, тогда можно и так сделать
 
I

ioni

В моей системе файлы загружаются в доступ всех пользователей, зачем их удалять после закачки? Хотя если файл выкладывается один раз для закачки одним пользователем, тогда можно и так сделать
Ага! То есть один загружает, а все - смотрят!

Я же думал, что файлик, например, лежит в базе и суперсекретный сам по себе, так что один раз закачал - и мы прячем файлик обратно! Надо его еще раз скачать - снова выливаем из базы, в другой уже каталог, с другими параметрами бла-бла-бла, при следующем прогоне скрипта проверям выкачан ли файлик целиком (или просто - открыт, допустим, сутки) - и тю-тю, поминай как звали, удаляем файлик к бабушкам и праотцам :blink:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!