Nur Zugriff für lokale IPs ? PHP

  • Hallo zusammen,

    Ich habe eine Oberfläche gebaut, in der man (mit normalen SQL UPDATES)
    Texte aus einer DB, von einer Homepage (für bestimmte Dinge) ändern kann,
    dies soll jetzt aber nur für bestimmte IP`s bzw locale Adressen
    (oder IP x.x.x.x -Ip y.y.y.y) erreichbar/sichtbar sein ...

    Hat jemand zufällig eine Idee wie ich das bewerkstelligen könnte ?

  • z.B. so, ist aber nicht getestet:

    PHP
    <?php
    $user_ip = $_SERVER['REMOTE_ADDR'];
    $permitted_ips = array("127.0.0.1", "192.168.178.1");
    
    
    if (!in_array($user_ip, $permitted_ips)) die("no way! (" . $user_ip . ")");
    ?>

    Gruß crAzywuLf :D

  • PHP
    if($_SERVER['REMOTE_ADDR'] == '255.255.255.255') echo 'erlaubte IP';

    Das fällt mir spontan ein, aber nur "lokale Adressen" zu erlauben, versteh ich nicht ganz.
    Was verstehst du unter "lokalen Adressen"?
    Intranetadressen? Lokal-IP-Adressen?

    EDIT:
    crazywulfs Idee ist die gleiche wie meine, einfach ein wenig professioneller und einfach für dich.
    Wollte dir nen Denkanstoss geben, anstatt die Lösung ;)

  • z.B. so, ist aber nicht getestet:

    PHP
    <?php
    $user_ip = $_SERVER['REMOTE_ADDR'];
    $permitted_ips = array("127.0.0.1", "192.168.178.1");
    
    
    if (!in_array($user_ip, $permitted_ips)) die("no way! (" . $user_ip . ")");
    ?>

    vielen Dank, funktioniert wunderbar !

    mit Lokalen Adressen meinte ich Unsere Interne IP-Adressen Struktur,
    also 192.168.x.1 - 192.168.x.255

  • vielen Dank, funktioniert wunderbar !

    mit Lokalen Adressen meinte ich Unsere Interne IP-Adressen Struktur,
    also 192.168.x.1 - 192.168.x.255

    geht auch:

    PHP
    <?php
    $user_ip = $_SERVER['REMOTE_ADDR'];
    if (!preg_match("/\A192\.168\.[0-9]{1,3}\.[0-9]{1,3}\z/", $user_ip, $matches)) die("ne\n");
    ?>

    Wobei die Array Variante gewiss sicherer währ...

    Gruß crAzywuLf :D