Zabranenie/povolenie download-u suborov
- tomolas
- Člen | 66
Zdravim vsetkych!
Mam asi trochu off-topic vseobecnejsiu otazku.
Rozmyslam, ako riesit problem s dowloadovanim suborov po nejakej akcii
(napriklad uspesna platba).
Subor nesmie byt priamo pristupny (http://example.com/file.mp3 nesmie fungovat), ale musi
existovat nejaky sposob, ako sa k suboru dostat.
Mate niekto s tymto skusenost? Ako sa toto vo vseobecnosti riesi?
Zatial som si vsimol DownloadResponse, a FileDownloader v doplnkoch, ale neviem
ci to nejak pomoze riesit to o com som pisal.
Diki za kazdy nazor!
Tomas
- srigi
- Nette Blogger | 558
Vo vseobecnosti s pomocou PHP mozes iba:
- umiestnit subor niekam do dosahu Apache a nechat klienta subor standardne stiahnut (dat mu odkaz)
- nacitat obsah suboru do premennej (pamati) a tu nasledne so spravnymi hlavickami vyechovat na vystup.
Mozes to a vylepsit, tak ze ten subor nebude na rovnakom mieste 2× (po stiahnuti ho presunies niekam inam). Ale kym ho taha jeden, moze ho na rovnakej adrese najst aj druhy klient.
b ma ten problem, ze subor sa musi natiahnut do pamati co vylucuje 700MB DivXi a pod. Mozno niekto poradi lepsie, ale myslim si, ze toto v PHP nevyriesis inak ako 700MB memory limitom.
V tomto ohlade maju vyhodu tzv. runtime prostredia (Node.js), ktore to dokazu streamovat priamo.
Editoval srigi (7. 12. 2010 19:19)
- tomolas
- Člen | 66
Dakujem vsetkym velmi pekne za odpovede.
Asi to vyriesim niecim pribuznym k spominanej variante A. Uvazujem nad
vytvaranim linkov (prikaz ln v linuxe), ktoremu bude predchadzat
autentifikacia. Myslienka je, ze samotny ‚tajny‘ subor bude mat nastavene
prava tak, aby ho server nevedel citat, ale stane sa dostupnym pomocou
vytvoreneho hard-linku. No musim to este domysliet.
Este raz dakujem za nazory.