PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IP weiterleiten


Mr.Burns
28.04.2003, 13:03:02
Hi Leute,

ich habe nach auswertung meiner letzten zugriffstatistiken
einen vermeintlichen Spam Robot ausfindiggemacht (keine Suchmaschine o.ä.)

jetzt mein problem: kann ich mittels IP diesen kanditaten
drausenlassen bzw. Ihn auf seine eigene IP zurückschicken?

ich hab mal folgendes gemacht:

<?php

function ipdisable(){

$ip = getenv ("REMOTE_ADDR");
$host = gethostbyaddr ($ip);
$browser = getenv ("HTTP_USER_AGENT");

if ($ip == '216.39.48.193' && $host == 'buildrack63.sv.av.com' && $browser == 'Scooter/3.3'){
print ("<html><head><meta http-equiv='refresh' content='0; URL=http://$ip'></head></html>");

}else {
print ("Sie dürfen Platz nehmen!");}

}

ipdisable()
?>

geht das so überhaupt oder hat jemand vielleicht ne bessere idee ?
die IP scheint fix zu sein, und jedesmal wenn der Kollege
auf der betreffenden website war, werden wir via mail mit Spam zugemüllt.

danke für ideen, bis dann

amerix
28.04.2003, 13:08:35
Hi, ein meta-refresh wird dem Kaum abschrecken, da er nur den quelltext durchsucht, und nur den Tag liesst, da so ein Bot ja kein Browser in dem Sinne ist....

Machst du aber ein Header redirect
(z.B. <?php header("Location: http://217.1.1.1"); die; ?>)
wird er warsch. direkt weitergeleitet.

Mr.Burns
28.04.2003, 13:55:56
o.k.,

also statt:
print ("<html><head><meta http-equiv='refresh' content='0; URL=http://$ip'></head></html>");

header("Location: http://$ip");
hab ich das richtig verstanden? wobei das ja im prinzip auch
quelltext ist.

... ich glaube das löst man besser hardwareseitig (firewall) oder?

amerix
28.04.2003, 14:00:46
Nee, dein Script ist der Quellcode, aber den sieht ja niemand, weil der Server den abarbeitet...
machst du echo mit einem meta refresh, dann ist der Seitencode mit dem Refresh sichtbar.

Mit dem Redirect kommst du nicht in den Quelltext, da ja kein echo da ist, also kein text/html geschickt wird...

Nur mit dem header-redirect must du etwas aufpassen, es darf sonst nichts ausgegeben werden (echo), auf jedenfall nichts vorher!
...deswegen am besten ein DIE; oder KILL; danach.

Mr.Burns
28.04.2003, 14:45:23
o.k.

ich versuch das mal so.

danke bis dahin, bis bald

amerix
28.04.2003, 14:55:36
Good luck! ;)

Mr.Burns
28.04.2003, 15:21:15
nee :-(

habs in der zwischen zeit mal umgeschrieben. funzt aber net:
browserausgabe bleibt lehr, Location wird ignoriert:

function ipfilter(){

/*IP des users*/
$ip = @getenv ("REMOTE_ADDR");
/*aufgelöster host des users*/
$host = @gethostbyaddr ($ip);
/*Browserversion des Useres*/
$browser = @getenv ("HTTP_USER_AGENT");
/*weiterleitende IP des Useres*/
$forwarded_ip = @getenv("HTTP_X_FORWARDED_FOR");
/*Browsersprache des Useres*/
$browser_lang = @getenv("HTTP_ACCEPT_LANGUAGE");
/*Herkunft des Users*/
$u_referrer = @getenv("HTTP_REFERER");
/*script name*/
$u_page = @getenv("SCRIPT_NAME");
/*IP des Servers*/
$server_ip = gethostbyname ($ip);

if ($ip != '216.39.48.193' && $browser_lang != 'en'){
@header("Location: index.php"); exit;
}else{
@header("Location: contact.php");
}

ipfilter();
}/*end function ipfilter*/

hast vielleicht nochne idee?

amerix
28.04.2003, 15:27:11
schau dir mal diesen Teil an

@header("Location: contact.php");
}
ipfilter();
}/*end function ipfilter*/


Der Funktionsaufruf ipfilter() wird in der funktion selbst aufgerufen! LOL...

Probiers mal so (oder lass die Funktion gleich weg!):
@header("Location: contact.php");
}
}/*end function ipfilter*/
ipfilter();

Mr.Burns
29.04.2003, 10:53:35
... 20 Stunden durcharbeitetn sind einfach zu lang :-))

danke !