Ich biete auf einer meiner Seiten Gameserver zum download an, das Problem dabei ist das die Dateien teilweise 500MB oder größer sind.
Jetzt gibt es immer wieder Leute die aus welchen Gründen auch immer manche Dateien 20 mal hintereinander runterlden, geht von Rootserver zu Rootserver ja relativ schnell. Dadurch hab ich allerdings zimlich hohe Traffickosten.
Deshalb wollte ich mal nachfragen ob jemand eine Möglichkeit kennt um das zu verhindern. Irgendwie so, dass eine IP automatisch für 24 Std. geperrt wird wenn sie mehr als 2GB Traffic erzeugt hat.
Schreib IP ($_SERVER['REMOTE_ADDR']) und datum in eine textdatei und vergleiche bei jedem Aufruf das Ganze. Wenn das Datum dem der textdatei entspricht und die IP ebenso, dann gibts keinen Download. Wenn nicht, schreib die IP rein und das aktuelle Datum. Ist der Tag vergangen wird die Sperre somit automatisch aufgehoben weil das gespeicherte Datum ungleich dem aktuellen. Die Textdatei dann einfach leeren.
Um bessere Kontrolle über den downlod würde ich über
eine Registrierung und Login realisieren.
so nach dem motto: ohne registrierung kein login, ohne login kein
download. Mysql hast Du bestimmt auch auf dem server, alles in eine
tabelle packen und 2-3 scripte in php.
ich schätze, dass auf dauer Du ohne Registrierung nicht rumkommst.
Wenn das mit der IP Sperre machen solltest, dann wuerde ich aber nicht unbedingt dies auch nach aussen hin zeigen. Soll heissen, wenn die IP schon mal runtergeladen hat, dann als Text ausgeben "derzeit ueberlastet" oder "Gesamtlimit ueberschritten" oder aehnliches, sonst ermunterst denjenigen nur dazu sich einfach neu einzuwaehlen und sich eine neue IP zu holen.
Die Hemmschwelle koennte u.U. groesser sein wenn Du das mit Anmeldung und eMail-Adresse machst.
Ich hätte eine ganz andere Idee.
wir haben doch so etwas wie Laden-Schuß-Gesetz in Deutschland.
Du könntest jedem User ein persönliches Zeitfenster einrichten
wann er mit dem Download anfangen soll. Ich gebe zu, dass die
Idee leicht verrückt ist, man kann sich aber überlegen.