Hallo zusammen,
auf meiner Seite habe ich ein Toplisten-Skript, welches die Besucher zählt, die andere von ihren Seiten auf meine Seiten schicken.
Da es immer wieder mal vorkommt, dass jemand seine Seite mutwillig nach oben klickt, möchte ich eine IP, die meine Seite besucht hat, für 10 Minuten sperren.
Dazu habe ich mir folgenden Code überlegt. Zum einen kommt mir dieser Code aber fürchterlich umständlich vor, hat jemand eine Idee, wie es einfacher gehen könnte? Und zweite Frage: Welchen Datentyp und welche timefeld müßten denn die Felder ip und zeit haben?
Danke im voraus und viele Grüße
langerxxx
auf meiner Seite habe ich ein Toplisten-Skript, welches die Besucher zählt, die andere von ihren Seiten auf meine Seiten schicken.
Da es immer wieder mal vorkommt, dass jemand seine Seite mutwillig nach oben klickt, möchte ich eine IP, die meine Seite besucht hat, für 10 Minuten sperren.
Dazu habe ich mir folgenden Code überlegt. Zum einen kommt mir dieser Code aber fürchterlich umständlich vor, hat jemand eine Idee, wie es einfacher gehen könnte? Und zweite Frage: Welchen Datentyp und welche timefeld müßten denn die Felder ip und zeit haben?
PHP-Code:
#Ermitteln der Referenz-URL
$stehenlassen = 600;
$url_info = parse_url($HTTP_REFERER);
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$zeit = time ();
$nichtmehrgueltig = $zeit-$stehenlassen;
$query3 = "DELETE FROM iptest WHERE timefeld <= ".$nichtmehrgueltig;
mysql_query($query3,$link);
$query2 = "SELECT * FROM iptest WHERE ip = '".$ip."'";
$result2 = mysql_query($query2,$link);
$rows = mysql_num_rows($result2);
#Nun schauen wir ob $rows >= 1 ist,....
if ($rows >= 1) {}
else {
$query4 = "INSERT INTO iptest (ip,timefeld) VALUES ('$ip',$zeit)";
mysql_query($query4,$link);
@mysql_query ("update sites set click_in=click_in+1 where url='$url_info[host]'");
}
langerxxx
Kommentar