PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

Codeschnipsel

IP-Prüffunktion (IPv4)

Zurück zur Übersicht
IP überprüfen (IPv4)
getestet mit: (4.1+, 5.0+)

Diese sehr einfache Funktion dient der Überprüfung einer IP gegen eine andere. Diese Methode kann oft dazu dienen bestimmte Daten genau einem Clienten zuzuordnen und findet oft ihren Einsatz in Sessions.
Folgende Funktion überprüft auf einfache Art und weiße eine IP. Hier bei ist zu achten, das die IP der IPv4 Norm folgen muss.
Bei der neuren IPv6 Norm funktioniert folgende Überprüfung nicht!
Als erstes müssen wir uns klar werden, aus was besteht die IP.
1. Sie besteht aus Zahlengruppen, getrennt durch ein Punkt.
2. Jede Zahlgruppe hat die Zahlen 1 bis 255 ohne führende Null.
Mit diesem Hintergrundwissen, ist die Überprüfung der IP nicht sonderlich schwer.
Folgende Funktion betätigt sich diesem Wissen und benötigt 3 Parameter.
1. Parameter: Die zu prüfende IP.
2. Parameter: Die vergleichs IP.
3. Parameter: Die Genauigkeit.

Die Paramter 1 und 2 sind klar, der Dritte eigentlich auch, wir müssen ja eine Genauigkeit der Überprüfung ansetzten.
Am einfachste ist hier eine Fiktive IP, die einen zahlenwert hat, oder ein *. Daraus ergibt sich dann als IP z.b 255.255.*.*
Mit dieser Beispiel IP können wir jetzt sagen, das der 1. und 2. Block übereinstimmen, bei 255.*.*.* nur der 1. bei 255.255.255.255 muss jeder Block stimmen.

Jetzt kommmen wir zu der Funktion selbst. Wir wissen bereits das eine IP aus 4 Zahlenblöcken besteht, die alle mit einem Punkt getrennt werden, daher bietet es sich an, genau an diesen Punkten die IP zu trennen, und genau das machen wir mit der PHP-Funktion explode.
Dannach ist es relativ einfach, wir arbeiten das entstehende Array mit einer for schleife ab! Daraus ergibt sich dann die folgende Funtkion.
<?php
function checkIP($ip, $compareip, $baseip) {
    
$ip        = explode(".", $ip);
    
$compareip = explode(".", $compareip);
    
$baseip    = explode(".", $baseip);
    
$check = true;
    
$count = count($ip);
    for (
$i = 0; $i < $count; $i++) {
        if (
$baseip[$i] == "255") {
            if (
$ip[$i] != $compareip[$i]) {
                
$check = false;
                break;
            }
        }
    }
    return 
$check;
} 
?>

Beispiel:
Als Beispiel kann es dienen, das wir die IP eines Besuchers, gegen die in der Session testen. Als genauigkeit geben wir die ersten beiden Blöcke an, das passiert durch den dritten Parameter, mit dem Wert: "255.255.*.*".
<?php
$ip 
= $_SERVER['REMOTE_ADD'];
if (
checkIP($ip, $_SESSION['SESSION_IP'], "255.255.*.*")) {
    echo 
"Die IP stimmt.";
}
else {
    echo 
"Die IP stimmt nicht.";
}
?>

Stimmt die IP überein, erscheint die Nachricht: "Die IP stimmt.", stimmt die IP nicht übereien folgende: "Die IP stimmt nicht."
Bitte denkt daran, das AOL-Benutzer mit jedem Seitenaufruf eine neue IP haben, ihr macht es nur Sinn maximal die ersten 3 Blöcke zu überprüfen!
Und denkt daran, die Überprüfung wird mit folgenden Werten eingestellt: 255 für überprüfen, * für nicht überprüfen.

Kommentare

Autor Teralios

Zurück zur Übersicht
Autor: Nils Reimers
Zurück: URLs im Text identifizieren

Für Fortgeschrittene

  • Objektorientierte Programmierung
  • PHP Sicherheit
  • Script-Beispiele
  • Codeschnipsel
  • Stellenmarkt
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur
  • CasinoAndy Finland
  • Casinoohnelizenz.info
  • Cryptocasinomaster.com
  • CasinoHEX.at
  • inkedin.com

Hoster – Geringste Ausfallzeit

  1. webgo Ø 1 Min.
  2. Linevast Ø 2 Min.
  3. netcup Ø 3 Min.
  4. All-Inkl.com Ø 6 Min.
  5. checkdomain Ø 8 Min.
  6. dogado Ø 17 Min.
  7. bplaced Ø 17 Min.
  8. Contabo Ø 25 Min.
  9. Hetzner Ø 49 Min.
  10. ONE.com Ø 62 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2023

Cookie-Zustimmung verwalten
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen ansehen
{title} {title} {title}