ilpostino Skrevet 11. september 2005 Del Skrevet 11. september 2005 (endret) holder på å endre noe i et script. dette tar sikte på å sjekke ip-adressen til de som kommer inn på siden og eventuelt nekte noen å komme inn med bakgrunn i deres ip. foreløbig har jeg kommet opp med dette men finner ikke ut hva jeg gjør feil: function getIP() { $ip; if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "UNKNOWN"; return $ip; } $adresse = $getIP; $banned_ip = array('127.0.0.1', '127.0.0.2'); foreach ($banned_ip as $ip) { if($ip == $adresse) die("Du kommer ikke inn hit<br>"); } Endret 11. september 2005 av ilpostino Lenke til kommentar
Zic0 Skrevet 11. september 2005 Del Skrevet 11. september 2005 holder med en in_array: if(in_array($ip, $banned_ip)){ /tadada } else { echo 'Du er ikke velkommen her'; } Lenke til kommentar
christt Skrevet 11. september 2005 Del Skrevet 11. september 2005 $adresse = $getIP; skal vel kanskje være: $adresse = getIP(); Lenke til kommentar
ilpostino Skrevet 11. september 2005 Forfatter Del Skrevet 11. september 2005 $adresse = $getIP; skal vel kanskje være: $adresse = getIP(); Jeps. det var det som gjorde at det ikke funket også.... Lenke til kommentar
ilpostino Skrevet 11. september 2005 Forfatter Del Skrevet 11. september 2005 hva er egentlig best av å bruke in_array og den koden jeg har kommet opp med? Lenke til kommentar
dabear Skrevet 11. september 2005 Del Skrevet 11. september 2005 Din vil være bedre, ettersom du ikke bare sjekker én verdi, men flere (HTTP_CLIENT_IP REMOT_ADDR osv.) evnt.: function getIP() { $ip; if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "UNKNOWN"; return $ip; } $adresse = getIP(); $banned_ips = array('127.0.0.1', '127.0.0.2'); if(in_array($adresse, $banned_ips)) { die('du kommer ikke inn her'); } Husk at de sakene du sjekker i getenv finnes i tillegg i $_SERVER['REMOTE_ADDR'] osv. Ettersom du kan bruke referanse istedet for kopiering, vil det teoretisk være kjappere Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå