Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php , zend] komercyjny downoad binarnych plikow., Skrypt do odpłatnego udostępniania treści BINARNYCH.
kostekplay
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.11.2008

Ostrzeżenie: (0%)
-----


Szukam klasy, innego rozwiązania, umożliwiającego mi udostępnienie odpłatne dużych plików binarnych.
Chodzi o pliki o rozmiarach 300 - 500 mb.
Pliki udostępniany by były płatnie na określoną ilość pobrań prze określonego użytkownika w danym czasie.
Po dokonaniu analizy w grę wchodą praktycznie trzy rozwiązania:
- zagonienie mysql lub postgress do udostępniania LONGBLOB
- stworzenie za pomocą np proftpd dynamicznych kont użytkownikow z dowiązanymi linkami do poboru na określony czas i ilość ...
- podwiązanie linku do maskowanego linku i jego domyślna translacja ( sa dobre tylko rozwiązania komercyjne )

ilość pobrań ok 200 / doba - łącze 100mbit/s , możliwości sprzętowe ( 4 proc, 8 GB itp, debian 6 )

problem polega na tym że dany link musi być aktywny TYLKO dla DANEJ OSOBY na OKLREŚLONĄ ilość pobrań i OKREŚLONY czas ...

czy ktoś ma uż coś takiego wdrożone i z praktycznej strony chciałby się podzielić doświadczniem ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Z mojego doświadczenia polecam na przykład takie rozwiązanie

- system linków tymczasowych obsługiwanych przez PHP + Memcache (serwer 1)

Linki tworzone by były w momencie żądania pierwszego (płatnego pobrania) - taki link miałby swój counter oraz limit czasu (zapewnia to memcache) po którym byłby kasowany. Link ten oczywiście nie miałby nic wspólnego z realnym adresem plików

- przechowywanie plików

Pliki powinny być trzymane poza dostępem via WWW na szybkim serwerze - nginx/lighttpd itp (apache odpada). Polecam tu nginx+php. Pobranie pliku wyglądało by w ten sposób:

a. Użytkownik "klika" pobieranie pierwszy raz.
- naliczenie opłaty za plik... (odpowiednio pobranie z konta dostępnej kasy itp)
- tworzy się link tymczasowy w memcache kierujący na konkretny plik - może to być ID danego pliku w bazie
- przejście na link tymczasowy
- PHP sprawdza czy dany link tymczasowy istnieje w memcache i czy counter nie jest równy 0 - odpowiednio zmniejsza counter pobrań
- PHP przekazuje poprzez odpowiednie nagłówki serwerowe (X-sendfile lub podobne - nginx ma coś takiego) jaki plik serwer ma zwrócić użytkownikowi (w tym miejscu można też określić prędkość wysyłania danych itd - za to dalej odpowiada już sam serwer / PHP ma za zadanie jedynie sprawdzić czy dany link tymczasowy jest ważny i przekazać serwerowi dane które plik ma wysłać (nie jest to żadne readfile itp...)

b. Użytkownik klika pobieranie po raz kolejny
- dzieje się dokładnie to samo bez naliczania opłaty...

Jeśli zastosujesz szybki serwer (w sensie nginx/lighttpd/lightspeed(płatny)) to to rozwiązanie jest proste do wdrożenia i implementacji i bardzo wydajne (IMG:style_emoticons/default/smile.gif)

(współtworzyłem spory hosting plików w którym było dużo zmian i nauki na błędach więc możesz mi zaufać) (IMG:style_emoticons/default/smile.gif)

Tak więc - co do gotowych rozwiązań - to musza sporo kosztować żeby były naprawdę dobre - a samemu za free można to całkiem nieźle zbudować. Darmowe (w większości) rozwiązania - w dodatku jeszcze mało profesjonalne lub z podejściem czysto PHPowym (bez określenia serwera itd...) są bardzo słabiutkie... ale może się trafić jakiś wyjątek - tak czy owak ja go nie znam (IMG:style_emoticons/default/tongue.gif)

Ten post edytował Sephirus 4.04.2012, 11:20:59
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 14:14