подскажите как будет выглядеть .htaccess

  • Автор темы KhasDenis
  • Дата начала

KhasDenis

Guest
подскажите как будет выглядеть .htaccess

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

KhasDenis

Guest
нужно защитить файлы от скачивания кем попало ...
а скачивать могут только оплатившие. Вот, после того как человек пойдет и заплатит на пейпеле, запускается мой ипн скрипт (указываем на пейпел эккаунте, какой скрипт запускать после выполнения платежа... там небольшой протокол обмена переменными). В этом скрипте я открою сокет и методом пост(чтоб незаметно) передам несколько переменных на данлоад скрипт, который покажет мне данлоад пейдж ... на данлоад пейдж будет линк (как сделать линк,чтоб по клику на него запрос уходил пост методом???т.е. по клику на него вызывалась моя php функция???) который приведет меня к скрипту который все мне скачает ....
Прямой линк к качающему скрипту ничего не даст потому что он еще переменные проверит,которые я постом гоняю, а .htaccess запретит качать из вне .... Вот так думаю защитить
:) А как посоветуете ?
 

young

Новичок
Посоветуем подумать головой
Придуманный тобой алгоритм мрачный.
Попробуй мзложить его еще раз и доступней если хочешь услышать нормальный ответ
 

KhasDenis

Guest
вроде головой думаю ...
попробую изложить доступней. После выполнения платежа на пейпал выполняется мой скрипт, пейпал перекидывает на него.
Теперь мне надо дать пользователю возможность скачать файл. Пользователь должен увидеть страничку "Thank you for your choice. Please download." и линк. Кликает и грузит.

Да но если все оставить так то грузить смогут все и оплатившие и нет... разве не так? надо как-то защитить...

это задача.

Насчет алгоритма. Может он и мрачный. Посоветуйте что-то более светлое.

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

Quidle

Полноценный новичок
А что, нельзя выдавать оплатившему юзеру какой-нибудь логин/пароль, который будет забиваться в сессии ?
 

Bloody

Guest
Можно файлы, которые ты хочешь защитить от неавторизованного скачивания поместить выше web-root, а скрипт, после того как человек авторизовался, будет самостоятельно выдавать человеку какие ему нужно файлы.

методом пост можно передавать по ссылке переменные так (хотя от просмотра исходника ты не застрахован!):

<FORM METHOD=POST ACTION="твой скрипт" ID="golink">
<INPUT TYPE=HIDDEN NAME="имя" VALUE="значение">
...
</FORM>

а в ссылке: <a href="javascript: golink.submit()"></a>

Но это все не для защиты, а так, для красоты - чтобы в строке URL покрасивше было.
А для защиты - действительно можно посоветовать сессии (насчет базы данных - это ты действительно загнул :) )...
 

Bloody

Guest
PS с сессиями даже логин-пароль тебе не нужен будет.
 

KhasDenis

Guest
Да, конечно сессии ... вы правы .... таскание переменных туда сюда это их эмуляция и получается ... не подумал

правда есть проблема с докачкой файлов качалками (флешгет и др.) после того как сессия умерла докачать то нельзя будет
 

Bloody

Guest
Тогда логин-пароль. Или куки. Хотя куки можно отключить, и это не новость.

А действовать можно примерно так:
После оплаты закачки файла F человеку выдается логин-пароль, и права на закачку этого файла. После того как файл скачан полностью логин-пароль и права убиваются.
 

KhasDenis

Guest
а как ты проверишь что файл скачан полностью ?
 

Crazy

Developer
Автор оригинала: KhasDenis
а как ты проверишь что файл скачан полностью ?
А потом ты озаботишься тем, как проверить, что клиенту удалось сохранить файл на диске? :)
 

Bloody

Guest
а как ты проверишь что файл скачан полностью ?
Например, пропарсив логи апача.
Начало закачки:
200 размер части

докачки:
206 размер части

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