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

Тема в разделе "PHP программирование", создана пользователем -, 16 май 2006.

Статус темы:
Закрыта.
  1. Гость

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

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

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

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

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

    Спасибо.
     
  2. Leviathan

    Leviathan Гость

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

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

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

    _serg_ Гость

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

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    <!--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 проходит проверка на существующие файлы, которые были закачаны и их. соответсвенно скрипт убивает (потому как не нужны больше)?
     
  5. Leviathan

    Leviathan Гость

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

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    Ага! То есть один загружает, а все - смотрят!

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

    Leviathan Гость

    можно, конечно, и так.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей