![]() |
![]() |
![]()
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 ? |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 14:14 |