Gå til innhold

Søke i en Array [løst]


Anbefalte innlegg

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 av ilpostino
Lenke til kommentar
Videoannonse
Annonse

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...