Помогите с логикой @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 13 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Заголовок сообщения: Помогите с логикой
Сообщение Добавлено: 19 Апрель 2008, 20:42:37 
Не могу придумать как лучше всего осуществить такой вот процесс:

человек отправляет сообщение (например e-mail), а ему в ответ приходит что-то типа link.com/12345.mp3 и перейдя туда, он может это скачать. но на деле должно быть так, что на хостинг такого файла нет, а лежит link.com/pesnja.mp3 но прямая ссылка никому не доступна. И вот чтобы человек мог пройти и скачать этот файл. но только со своего IP (т.е. человек прошёл по ссылке и его ай-пи запислся), другой человек, пройдя по ссылке увидит фигу. и ему надо отправить тоже туда сообщение и он получит уже другой линк, но на тот же файл, который будет доступен только ему. как это лучше всего реализовать? не обязательно чтобы в конце стоял этот mp.3. файлы довольно тяжеловесные, потому копировать их на сервере с разными именами как вариант не годится. :insane:

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 19 Апрель 2008, 21:11:48 
Вам наверно не надо проверка по IP адресу.
- Во первых люди могут зарегистрироваться из кафе и уже дома скачивать файл.
- Во вторых IP могут быть динамичными

проверка должна идти по ссылке, которая заканчивается: download.php?file=abracadabra

Первое что приходит в голову:
- файлы лежат в отдельной защищенной (mod_rewrite, unix permissions) директории
- только PHP программа имеет право их читать
- как только линк прошел проверку - PHP достает файл и показывает (header) окошко скачать.
- через некоторое время линк можно сделать недействительным

Реально я такого еще не делал, поэтому хотелось бы услышать мнения

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 19 Апрель 2008, 21:35:30 
хммм... ну суть такая, что файл может скачать только человек, отправивший сообщение и чтобы при передаче другим людям эа ссула не работала, а работала только для него. но в связи с тем, что файлы тяжеловесные, должна быть возможность скачать их ещё раз в случае, если прирвётся соединение с интернетом.

Про защищённые файлы в папке идея мне нравится. Осталось только почитать в инете про заголовки т.к. я давным давно ничего не программировал :beer:

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
ziv Муж.
соучастник
16
Сообщения: 862
Зарегистрирован: 16.04.01
Сообщение Добавлено: 20 Апрель 2008, 01:01:57 
Что значит "например e-mail"? С e-mail такое дело не пройдет.
С простым сообщением через форму на сервере легко. если прирвётся соединение с интернетом и сменится адрес у пользователя, то ес-но надо получать новую ссыль.
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 20 Апрель 2008, 01:10:10 
ну я подумал в итоге сделать через систему смс. человеку придёт сообщение с уникальной ссылкой типа link.com/get.php?id=12345

при переходе по ссылке скачивается файл. но днный конкретный человек (человек первым зашедший по ссылке) может пользоваться ею сколько угодно раз (из под этого АйПи), а если скинет ссылку третему лицу, то там она не заработает. Система с защищенными папками годится. сейчас вот размышляю можо ди такое сделать если обработчик link.com/get.php находится на одном хостинге, а скачиваемые файлы на другом (например site.ru/song.mp3) т.к. у меня есть хостинг рабочий где дофига места, но там нет MySQL, а там где он есть, у меня хостинг всего на 250 мегабайт.

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
molokofreak
старожил
41
Сообщения: 7184
Зарегистрирован: 21.05.06
Откуда: Латвия
Сообщение Добавлено: 20 Апрель 2008, 01:16:52 
а не проще сделать генератор ключей на скачку и рассылать уже ключи?

_________________
не нужен мне ваш сраный логотип, пойду нарисую свой со шлюхами и блекджеком!
сайт
Born2be Муж.
постоянный участник
93
Сообщения: 2601
Зарегистрирован: 20.07.06
Откуда: Латвия [Рига]
Сообщение Добавлено: 20 Апрель 2008, 01:27:25 
суть не меняется. тут генератор идентификаторов, а файл в конечном итоге лежит где-то на хостинге со вполне прямой ссылкой, которую адо дать человеку для скачивания. но как-то так, чтобы скачать по этой ссылке мог только конкретный человек. по сути этот вопрос уже реализовал, осталость только про заголовки эти вспомнить. типа как сделать так, чтобы выскакивало окошко "сохранить". и узнать возможно ли файл держать на другом хостинге при том, что напрямую доступ к нму закрыт, а дан только скрипту, который находится на другом хостинге.

_________________
[*][ЩАСТЬЕ]
I am Macintosh user
DE'журнал. Быть или не быть?
всё обо мне
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 26 Апрель 2008, 04:45:24 

molokofreak писал(а):
а не проще сделать генератор ключей на скачку и рассылать уже ключи?

Полностью поддерживаю.


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

Если человек захочет поделиться файлом - он не будет кидать ссылку, а просто скинет файл.
ИМХО проверка по IP адресу - это головная боль юзерам (у которых IP сменится) и тех. поддержке.


Born2be писал(а):
у меня есть хостинг рабочий где дофига места, но там нет MySQL, а там где он есть, у меня хостинг всего на 250 мегабайт

Я бы разрешил доступ к базе (на хостинге 1), сайту который находится на хостинге 2.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Небоскреб
старожил
176
Сообщения: 6240
Зарегистрирован: 16.04.05
Сообщение Добавлено: 26 Апрель 2008, 05:15:40 
оффтопик:

Цитата:
перейдя туда, он может это скачать. но на деле должно быть так, что на хостинг такого файла нет, а лежит link.com/pesnja.mp3 но прямая ссылка никому не доступна. И вот чтобы человек мог пройти и скачать этот файл. но только со своего IP (т.е. человек прошёл по ссылке и его ай-пи запислся)


Объясните тупому, нах это надо? Когда мне начали названивать "из органов", я просто сменил ип, а теперь он вообще у меня каждую сессию разный. Или есть дураки, до сих пор готовые платить за такую лабуду?

_________________
Выкуренная сигарета сокращает жизнь на 2 часа, выпитая бутылка водки — на 3. Рабочий день сокращает жизнь на 8 часов.
Небоскреб
старожил
176
Сообщения: 6240
Зарегистрирован: 16.04.05
Сообщение Добавлено: 26 Апрель 2008, 05:33:33 
P.S. Наверное, нужно очень сильно хотеть скачать этот файл. Что в нем, интересно? :laugh:

_________________
Выкуренная сигарета сокращает жизнь на 2 часа, выпитая бутылка водки — на 3. Рабочий день сокращает жизнь на 8 часов.
Oleg Муж.
новый человек
0
Сообщения: 8
Зарегистрирован: 14.04.08
Откуда: Россия
Сообщение Добавлено: 28 Апрель 2008, 01:04:35 
Киньте куку когда посетитель пройдет по ссылке, без ограничений времени жизни куки.
В куке укажите что-то типа "свой чувак", а исходную ссылку сразу сделайте недействительной.
Далее - редирект на скрипт скачивания, читаем и проверяем куку, если свой, то велкам, если чужак - иди лесом. :glasses:
t3s Муж.
новый человек
0
Сообщения: 6
Зарегистрирован: 28.04.08
Сообщение Добавлено: 29 Апрель 2008, 13:10:26 
куки имеют свойство пропадать или чиститься
имхо, лучше пользоваться сессиями (в пхп сессии и кукисы - разные вещи)
в сессию помещаем сгенерированный идентификатор для файла - если он совпал с тем что в сообщении по смс или мылу, даем скачивать
а срок жизни сессии наверное стоит делать все-таки ограниченным - но при этом предупреждать пользователя что "данная ссылка будет работать только в течении 48 часов"

_________________
занимаюсь ресурсом webamator.ru
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 29 Апрель 2008, 14:31:57 

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


Так работают порно сайты, сессия живёт день, у тебя есть её id. В сессии есть линк на файл. Скачает любой кто знает id живой сессии.

Нужно делать просто и тупо, работает как часы:
1. пришла смска - с номера 1111111 на запрос файла kakbe_golaja_baba.mp3
2. создали зашифрованный линк на файл, включающий в себя $nomerTelefona.$filename, где ключ шифра - номер телефона + номер телефона зашифрованный общим ключом
3. полученную абракадабру отдали пользователю.
4. пользователь ткнул линк.
5. расшифорвали линк, в базу записали: номер телефона такой-то, взял такой то файл, стока та раз, в такое то время, с такого-то IP.
6. отдали файл.

Также, следует не забывать прикрутить мэйнтейнц к базе, для сборки и удаление трупиков.
Плюс не забыть про сбор статистики обращений к файлам. Дабы сделать топ.

P.s.
можно ставить ограничение на отдачу файлов. Не более пяти раз например, или при повторном обращением к файлу должен совпасть IP записанный первый раз.
p.p.s
Хотя фильтровать по ip - это зло.

_________________
можно на ТЫ.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 13 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100