IP Sperre bei Counter
crash
- php
Hallo!
Ich habe mir heute einen Counter in PHP programmiert,
und möchte jetzt eine IP Sperre einbauen,
so das das Weiterzählen durch alleine einen User verhindert wird.
Ich will eigentlich möglichst keine Cookies verwenden,
da einige User diese ja ausgeschaltet haben.
Meine Counter datei sieht bis jetzt so aus(ich binde sie per include() ein):
<?PHP
if (file_exists("wert.inc"))
{
$datei=fopen("wert.inc","r");
$zaehler=fgets($datei,255);
fclose($datei);
}
$zaehler++;
$datei=fopen("wert.inc","w");
fputs($datei,"$zaehler");
fclose($datei);
return $zaehler;
?>
Ich weis jetzt nur nicht wie ich eine IP Sperre einbauen soll.
Könnt ihr mir irgendwie helfen?
Auf jeden Fall will ich keinen Counterdienst oder einen vorgefertigten Counter verwenden.
Tschüs
Julius Hacker
Servus
Denken wir doch mal logisch
Du willst eine IP sperren und nicht nur den Browser eines Users.
Also setzen wir keinen Cookie sondern speichern die IP Adresse des Users in der DB oder auch in der Datafile (nicht so gut)
und dann sucht man halt bevor der counter 1 rauszaehlt ob es die IP schon gibt.
wenn ja, einfach ned raufzaehlen.
Und jede IP mit einen timestamp versehen und bei jedem mal wo der counter aufgerufen wird gleich nach IP's suchen die aelter als 24 Stunden sind und die dann rausloeschen,
dann gehen sie wieder.
Somit kannst die den Cronjob auch sparen.
Viele grüsse
Aquariophile
Hallo
Kein Code aber ne idee :)
so, nun viel spass beim proggn :))
Grüße
David
Hallo Julius,
sicher hast Du dich schon mit der Thematik der dynamischen IP-Vergabe auseinandergesetzt und wißt deshalb, dass es sowohl Provider gibt, die (fast) jeden HTTP-Request eines Dial-in-Users über eine andere IP abwickeln, dass es auch Provider gibt, die viele Dial-in-Verbindungen netzseitig zusammenfassen und über eine IP weiterleiten (so wie ein Proxy das tut) und dass ein User bei den übrigen Providern wahrscheinlich auch jedesmal eine andere IP bekommt. Die Wahrscheinlichkeit, dass ein zweiter Besucher kurz nach dem Besuch des ersten mit der selben IP zu dir kommt, besteht auch noch, wenn auch nur sehr gering.
Gut, nun zum Thema:
Es wird Dir wahrscheinlich nichts anderes übrig bleiben, als eine Datei oder eine Tabelle einer Datenbank zu bemühen. Du solltest jetzt als erstes festlegen, wie lange denn die IP gegen Wiederbenutzung "gesperrt" bleiben soll. Das entscheidet wesentlich über das zu wählende Verfahren. Außerdem solltest Du uns einen Hinweis geben, wieviele Logbucheinträge Du denn am Tag so ungefähr hast. Das beeinflusst ja wensentlich das Dateiwachstum bzw. die nötigen Aufräum-Funktionen für die Logdatei.
Bis dann
Tom