byczek
19.12.2005, 18:21:48
Witam posiadam na swojej stroni Upload i Download plików chciałbym sobie zrobic scrypcik taki aby nie wszyscy mogli pobierac a tylko ci co uploaduja czyli chodzi mi cos takiego jak stosunek 1:2 czyli jeden wstawiony plik 2 moze pobrac moze jest cos takiego albo ktos jest w stanie cos takiego wykonac w wzamian za reklame na www z 6 tys uniq dziennie to mozemy sie dogadac jestem pod GG 5121808
pozdrawiam
Ludvik
19.12.2005, 22:15:57
Ciężko jest pilnować plików używając php... Najpierw pomyśl jak udostępnić pliki poprzez protokół ftp/http/etc. tak, aby nie każdy miał do nich dostęp. Osobiście nie znam żadnego gotowca.
Poza tym ciężko zrozumieć twój post - nie użyłeś ani jednego znaku interpunkcyjnego pomijając dwukropek przy stosunku.
Kristof
19.12.2005, 22:47:37
o ile zakladam z epliki sa dostepne tylko dla zarejestrowanych i uzywasz sql to nie jest takie trudne. Wystarczy ze zrobisz odpowiednia tabele w sql i przy kazdym pobieraniu pliku i wysylaniu bedzie dodawal liczbe czyli +1 do poprzedniego i zapisywał. Również przy downloadzie przed rozpoczeciem rezzty sprawdzal by if ($upload / $download <0,5) die i dalej juz by poszlo. Nie wiem jakiego szablonu uzywasz ale przerobienie i dodanie tej funkcji nie bylo by skomplikowane.
byczek
19.12.2005, 23:23:49
No zapomniałem dodac ze uf upload i download tylko dla zarejestrowanych jest
poison.Pluto
19.12.2005, 23:39:39
W php będzie ci ciężko kontrolować dostęp do plików... Każdy kto będzie znać ścieżkę do pliku go ściągnie. Chyba, że użyjesz htacces itp.
Kristof
20.12.2005, 18:40:49
da sie musialbys trzymac np pliki w jakims katalogu i dostep do niego tylko spod serwera czyli chmod 770 i sciaganie odpowidnio przez plik php ze zmiennym adresem w zaleznosci od usera. Jest to do wykonania. Podobnie jest ale prościej jezeli masz serwer wirtualny tro mozesz w zupelnie inny katalog niz htdocs i wtedy nie ma dostepu spod http i jedynie przez plik php w ktorym jest sciezka i odbywa sie to na prawach roota badz wlasciciela pliku.
bregovic
20.12.2005, 18:53:51
To się da spokojnie zrobić. Wystarczy że zrobisz plik-bramkę, który:
- Sprawdza czy user jest zalogowany
- Sprawdza czy user może downloadować
- Ładuje z odpowiednimi headerami odpowiedni plik
Najlepiej żeby pliki identyfikować poprzez id - z właściwą nazwą pliku zapisaną w bazie. Wtedy np download.php?file=1233456789 ładowałby plik znajdujący się zupełnie gdzie indziej.
Oczywiście aby było to bezpieczne, musisz pliki umieścić poza document root serwera.
Edit: lub z odpowiednim chmodem, jak napisał Kristof.
Co w przypadku jesli pobieranie zakonczy sie niepowodzeniem? Wystapi przerwa podczas sciagania? Jak sprawdzic czy uzytkownik sciagnol caly plik?
crash
20.12.2005, 22:49:51
Ciężko jest przewidzieć takie wypadki, ale można na przykład założyć, że cały rozmiar pliku uwzględniany w ratio jest doliczany odrazu przy rozpoczęciu pobierania. Można też ustalić, że w jakimś tam czasie pobieranie tego samego pliku (np. wznawianie po przerwaniu) nie będzie powodowało wpływu na ration. Z uploadem jest o wiele łatwiej, wiadomo ile zajmuje wgrany plik...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.