PDA

Bekijk Volledige Versie : Maximaale downloads



Arto
05/12/07, 10:04
Beste,

Ik bied regelmatig download aan via mijn server.
Nu komt het vaak voor dat 1 IP heel veel connecties heeft.
Dit bekijk ik via Apache Status, dat hij dan stuk of 30 bestanden tegelijk download.
Dit zorgt voor vast lopen van Apache.
Ondaks dat ik hotlink protection die perfect werkt.
Via exploler kan je maar 2 tegelijk downloaden andere zoals firefox weet ik eerlijk gezegd niet.
Maar je kan met programma's zoals FlashGet zoveel je wilt tegelijkertijd laten downloaden.
Hoe kan ik nou voorkomen dat mensen bijv max 2 tegelijk kunnen downloaden?
Hiermee bedoel ik niet het max_requests.
Ik wil gewoon dat 1 ip maximaal 2 bestanden kan downloaden

Kan iemand mij hierbij helpen?

RobinJB
05/12/07, 10:10
Afvangen met php? Dat kan in principe prima.

ilnee
05/12/07, 10:31
Apache kan dit ook met een beetje hulp. (http://dominia.org/djao/limitipconn.html)

Freakingme
05/12/07, 11:39
iptables moet dit ook kunnen..

QBell
05/12/07, 12:29
Je zou ook kunnen overwegen om ftp te gebruiken.
Dat meeste ftp servers hebben dat als standaard optie, en het protocol is er immers voor gemaakt om bestanden over te gooien ;). Terwijl je met apache nog wel is in de knoei komt met mime headers...

Arto
05/12/07, 13:34
Ik zie iptables, ik zie dat apache dit ook kan en ilnee geeft nog een linkje :

http://dominia.org/djao/limitipconn.html

Ik zal vanavond kijken naar dit linkje

Maar ff over die IPtables, hoe moet dat geregeld worden dan?

Arto
06/12/07, 16:49
Iemand nog tips?

Deze lijkt mij vrij ingewikkeld :
http://dominia.org/djao/limitipconn.html

bvankuik
06/12/07, 17:39
Als die Apache module te ingewikkeld is, dan ga ik met RobinJB mee en zeg, zet die files achter een scriptje.

Ik google en vind:
http://www.web-development-blog.com/archives/limit-the-number-of-downloads-per-client/

Arto
06/12/07, 21:06
Als die Apache module te ingewikkeld is, dan ga ik met RobinJB mee en zeg, zet die files achter een scriptje.

Ik google en vind:
http://www.web-development-blog.com/archives/limit-the-number-of-downloads-per-client/

Deze lijkt er meer op denk ik, maar mijn engels is niet al te perfect, zou je mischien wat kunnen uitleggen voor mij?

SF-Jeroen
06/12/07, 21:54
Je kunt toch gewoon supersimpel het IP van elke user na een download opslaan in Mysql en dan bij meer dan 2 num_rows de download weigeren?

En dan cron je dat hij 24H oude IP's verwijderd :)

5 minuten werk

bvankuik
06/12/07, 23:27
Deze lijkt er meer op denk ik, maar mijn engels is niet al te perfect, zou je mischien wat kunnen uitleggen voor mij?

In de link hierboven wordt een mod_rewrite regel gebruikt om een script bij elke download aan te roepen. Het script controleert in de database of het IP adres van de downloader reeds zijn limiet heeft bereikt. Zo ja, dan wordt de toegang geweigerd.

Zo nee, dan wordt de limiet opgehoogd en het bestand doorgegeven. Als geen rij wordt gevonden, wordt deze aangemaakt.

Als je er niet uit komt, dan kun je wellicht hulp krijgen via een verzoek om een scripter in het 'personeel gezocht' deel van het forum.