Ip- sperrung

alive

Erfahrenes Mitglied
Ich habe auf simple weise versucht eine ip zu sperren... diese ip ist in einer mysql datenback eingetragen
Tabelle : ip_new
1 Feld : ip
Hier nun der Quellcode zum Script... das Script added auf jeden Fall ... scheinbar liegt der Fehler beim nachgucke , also herraus lesen der Ip aus der Datenback....
PHP:
elseif ($show == "addit"){
// IP check
$connID = mysql_connect ("localhost", "web39", "paulpaul");
$ipcheck = $_SERVER['Remote_addr'] ;
$sql = "SELECT * FROM ip_new WHERE ip = '$ipcheck'";
$result = mysql_query ($sql, $connID);
if (mysql_num_rows ($result) == 0) {
// adden
include ("mysql/connect.php") ;
$strIP = $_SERVER['REMOTE_ADDR'];
$timestamp= time(); 
$datum = date("d.m.y", $timestamp);
$zeit = date("H:i", $timestamp);
$sqlid = mysql_query("SELECT id FROM gbook_new ORDER BY id DESC LIMIT 1");
$fetchid = mysql_fetch_array($sqlid) ;
$id = $fetchid["id"] + 1 ;
$insert = "INSERT INTO gbook_new (sicherung, datum, uhrzeit, id, nick, email, homepage, icqnummer, message ) VALUES ('$strIP','$datum', '$zeit','$id','$name', '$email', '$www', '$icq', '$message' )";
mysql_query($insert) or die("Error: " . mysql_error()); ;
echo "<b><center>Danke $nick für deinen Eintrag! Klick <a href=?content=gbook&view=view&show=5><font color=white>hier</font> um deinen Eintrag zu sehen!</b></center>";
// wenn ip vorhanden ist
}
elseif (mysql_num_rows ($result) == 1) {
echo "shit" ;
}}
thx schon mal im vorraus
 
dein problem ist, dass er die ip immer einträgt, auch wenn sie schon in der tabelle drin ist?

Der Fehler liegt glaub ich hier:
PHP:
$ipcheck = $_SERVER['Remote_addr'] ;
Soviel ich weiß muss das Remote-addr groß geschrieben werden:
PHP:
$ipcheck = $_SERVER['REMOTE_ADDR'] ;
 
Thx... der Fehler war das
PHP:
$ipcheck = $_SERVER['REMOTE_ADDR'] ;

musste wirklich groß geschrieben werden...
 
Hallo,
hab da ma noch ne Frage zu.
Ich hänge hinter nem Router.
und wenn ich IP Check auf meinen Lokalen Webserver oder auch nem richtigen Webserver laufen lasse, zeigt der mir nur 127.0.0.0 an.
wo liegt der fehler?
 
Deine IP "richtige" IP wird erst angezeigt, wenn du das Script irgendwo hochgeladen hast und es dann aufrufst.

Wenn du das Script lokal aufrufst wirst du IMMER 127.0.0.1 haben :-)
 
Guten morgen,

da habe ich doch gleich noch eine brennende Frage auf dem Lippen.

Das ist zwar schön und gut, dass man eine IP-Sperrung machen kann aber ich dachte das bei jeder Neueinwahl ins Netz eine neue IP dem User zugeordnet wird, sodass er nie die gleiche hat.

So währe das Prinzip der IP Sperrung ja hinfällig. Oder macht man das irgendwie anders?

Ich bin gespannt auf die Antwort

Mit besten Grüßen

Sebastian
 
Original geschrieben von snuu
Du kannnst auch Deine nach aussen hin sichtbare IP in den Browser eingeben, dann wird auch diese IP als REMOTE-IP verwendet.
Wenn du hinter einem Router sitzt, ist dies nur sehr begrenzt möglich, da der Weg aus dem LAN durch den Router ins Internet zurück durch den Router ins LAN, meist irgendwelche Probleme hervorruft.
Oft landet man dann beim Login für die Webkonfiguration des Routers (auch wenn Remote-Administration überhaupt nicht aktiviert ist).

Bei mir zu Hause umgehe ich das über einen Eintrag in der host Datei von Windows, was ja allerdings zu einem impliziten Überbrücken der eigentlichen Wege für bestimmte Hosts führt und insofern nicht verglichen werden kann.
 
hm ich meinte dasn bissl anders.
wenn ich z.b. auf die seite IP Check
gehe wird mir meine WAN Adresse mit der mein Router Online ist angezeigt.
Die auch passt!
Aber wenn ich jetzt z.b das script
$ipcheck = $_SERVER['Remote_addr'] ;
verwende und es auf einen z.B. Puretec Server hochlade und es dann aufrufe, wird mir nur meine localhost adresse angezeigt.
Das Problem mit dem Router Tim, kann man auch umgehen wenn man einen Router besitzt der internes Loopback unterstützt (dann könnte ich auch z.B. mit der DynDNS Adresse auf meinen lokalen Webserver zugreifen, leider fehlen mir dazu die finanziellen möglichkeiten ^^..aber das isn anderes Thema ;)
 
Zurück