🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #220175

skrypt do serwera plików, proszę o rady.

#220175
From: Invi
Date: Sat, 15 Aug 2009 10:24
46 lines
3222 bytes
Witam zabieram się za napisanie skryptu do serwera plików i potrzebuję 
kilku rad.
Wymagania:
- Skrypt nie zezwala na hotlinkowanie
- link do pliku wygląda np tak: 
http://mojserw.org/download2.php?encrypt=02Bl-ByLHbj7KJ_WwzlhoQiBZ9xLEbGZviwVHz8XWBP2YmkK0OT_uzeW4T3nLmd6V80_CA1u7iAnVVja_zm3MzBKeGRYlNAjBGFeka5AAPlSVL0BPIYVoBJ81ogMHBIzWNGkAoTyH68p7LGea9RxXlmMWtpcB0zKGBGfb8bxGCKLY1_9OT0z2Ym5qzs-J1SIpTrqZ2NdYURCOVwcWDdxCA,, 

- linki do plików przestają działać po 1minucie może 2 od wyświetlenia 
strony z linkami, po odświeżeniu są generowane nowe linki.
- automatyczna obsługa mirrorów tzn skrypt co jakiś czas sprawdza czy 
pliki w bazie są na serwerach dodanych do listy, jeśli tak to zaznacza to 
w rekordzie danego pliku w bazie.
- antyleech czyli jedno IP, jedno pobieranie.
- Skrypt nie pozwala pobierać z innego IP niż to z którego została 
wyświetlona strona
- wykrywanie nadużyć, np gdy ktoś stale próbuje odpalić więcej niż jedno 
pobieranie, po którejś tam próbie dostaje bana na IP.
- obsługa wznawiania pobierania, tzn, jak komuś zerwie połączenie, to żeby 
starczyło wkleić nowy link do menegera pobierania by dokończyć pobieranie 
pliku.
Sporo tych wymogów ale mniejsza z tym. Całość ma działać na serwerku 
dedykowanym z bazą danych mysql.

Wiem na pewno, że muszę napisać własną klasę zarządzania sesją.

To na co nie mam pomysłów to:
- jak kontrolować pobierania? tzn jak ustalić, że ktoś skończył 
pobieranie? Chodzi o to, żeby nie było przypadków, że ktoś skończył 
pobierać i nie może pobrać next pliku.
- wygasające linki, nie mam pomysłu na to, wydaje mi się że będzie miało 
dużo wspólnego z zarządzaniem sesją.
- linki do plików, pojęcia nie mam jak zrobić tak, żeby nikt nie miał 
bezpośredniego dostępu do plików... czyli, żeby link zawsze był podobny do 
tego co podałem w wymogach a nie, że ktoś zaglądnie w źródło pobrania i 
widzi http://mojserw.org/sciezka/do/pliku/plik.roz
- automatyczne sprawdzanie mirrorów, da się to wykonać w ogóle? wydaje mi 
się, że przy pomocy crona powinno się dać.
- o obsłudze wznawiania pobierania to za bardzo pojęcia nie mam.


Nie proszę o gotowy kod, wszystko co mi potrzebne to podpowiedzi i rady, 
kod sobie sam napiszę chociaż z drugiej strony jak ktoś wrzuci coś 
gotowego to też się nic nie stanie.

Pozdrawiam
Invi
Technical Details
Message-ID: <h65nqp$sqs$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed.atman.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed.atman.pl!not-for-mail
From: Invi <adii__17@o2.pl>
Newsgroups: pl.comp.lang.php
Subject: skrypt do serwera plików, proszę o rady.
Date: Sat, 15 Aug 2009 12:24:25 +0200
Organization: ATMAN
Lines: 46
Message-ID: <h65nqp$sqs$1@node1.news.atman.pl>
NNTP-Posting-Host: bergera.tvsat364.lodz.pl
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1250321049 29532 91.193.162.97 (15 Aug 2009 07:24:09 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sat, 15 Aug 2009 07:24:09 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit