Скачка файлов с сайта

Тема в разделе "PHP", создана пользователем sympler, 17 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    Добрый день. Столкнулся с вот такой проблемой:

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

    Чтобы было понятнее приведу ПРИМЕР:

    сначала сайт дает ссылку типа

    Перейти по ссылке
    (эта ссылка действует всегда)
    подождав минуту система сообщает что файл можно скачать по ссылке
    Перейти по ссылке
    (эта ссылка действует в течение суток)
    нажав на нее пользователь начинает качать с помощью Download Master или другой проги уже с сайта по ссылке:
    Перейти по ссылке
    то есть по прямой ссылке которую можно посмотреть в даунлоад мастере. собственно ее же любой пользователь может передать любому пользователю и любой пользователь может скачать в любое время без каких либо ограничений - а это плохо ((

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

    Заранее спасибо :)
     
  2. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145

    Перейти по ссылке

    5-й вопрос думаю даст вам необходимые ответы
    остается только прикрутить, чтобы скрипт получал какой-то ID от пользователя, и выдывал/не выдавал соответсвующий файл пользователю.

    но, это решение слабо масштабируется. так как тут задействуется PHP в качестве транспортного средства, что весьма нерационально
    я полагаю такую задачу можно решить при помощи связки apache+nginx+PHP
    но, как именно это делается, я понятия не имею
     
    sympler нравится это.
  3. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    ну вроде именно то что я хотел, будем разбираться
    только не 4ый а пятый вопрос ))
     
  4. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    Используйте nginx и давайте прямые ссылки ..нет смысла их прятать..
    принимаете файл на загрузку апачем а отдаёте nginxсом..скриптом очень накладно на рессурс..
     
  5. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    извиняюсь, описался.
    дал бы вообще ссылку с анкором, только у них почему-то в пределах страницы анкоры не работают:confused:

    2 serjinio, может быть и имеет
    вы хорошо разбираетесь в nginx?
    возможно ли то, что я описал сотворить на нем?
    то есть, чтобы не по постоянным сылками, а по временным?
     
  6. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    есть ли смысл прятать я пока думаю,
    может быть действительно буду выдавать прямые ссылки

    а что насчет nginx то в нем вообще не шарю
     
  7. kozax89

    kozax89 Постоялец

    Регистр.:
    12 июл 2009
    Сообщения:
    135
    Симпатии:
    4
    можно также запретить скачку файла по ссылке с вне сайта

    в .htacces прописываем

    RewriteEngine on
    RewriteRule .(jpg|gif|png|css|mov|swf|dcr|exe|rar|avi|vob|zip)$ - [F]

    список файлов - это расширения которые запрещаем.
     
  8. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    а поподробнее??

    как тогда скачать файл?
     
  9. kozax89

    kozax89 Постоялец

    Регистр.:
    12 июл 2009
    Сообщения:
    135
    Симпатии:
    4
    Файл будет тогда качацо только с твоего сайта\домена - тоесть если ты кликнешь на ссылку сгенеренную самим сайтом на нем же - А если бы ты дал ссылку на данный файл через аську кому нибудь или вставил на форум - она не сработает - будет ошибка 403.

    например - у меня на сайте есть файл Перейти по ссылке - и только тогда сработает закачка.

    Надеюсь что понятно написал.
     
  10. sympler

    sympler Постоялец

    Регистр.:
    24 окт 2008
    Сообщения:
    131
    Симпатии:
    6
    2 kozax89
    все, что написано на примерах - идеально ))))
    и я думаю что данных случай лучше всего подходит для моего сайта
    в данном случае

    кстати ошибка 403 - как ее настроить? какой файл по умолчанию, в панели управления ее нельзя задать...
     
    lashka1 нравится это.
Статус темы:
Закрыта.