Hvordan banner jeg flere personer med denne kode?

Tags:    php

<< < 12 > >>
<?
$ipadresse = "XXX.XXX.XXX.XXX";
if ($_SERVER["REMOTE_ADDR"] == "$ipadresse") {
header("Location: ingenadgang.php");
}
?>

(man indsættet ip'en ved X'erne)


Dette er en kode jeg bruger på min hjemmeside der er bygget op af html og php. Jeg har bl.a. en chat og en tagwall, og vil gerne have mulighed for at banne folk der spammer. Men problemet er at jeg ikke kan banne mere end en før den meddeler en fejl.

jeg har prøvet at lave to koder således:

<?
$ipadresse = "XXX.XXX.XXX.XXX";
if ($_SERVER["REMOTE_ADDR"] == "$ipadresse") {
header("Location: ingenadgang.php");
}
?>

<?
$ipadresse = "XXX.XXX.XXX.XXX";
if ($_SERVER["REMOTE_ADDR"] == "$ipadresse") {
header("Location: ingenadgang.php");
}
?>

Med to forskellige ip'er selvfølgelig, men det virker kun på den ene ip, og alle andre kan så ikke komme ind på siden.

Så prøvede jeg med:

<?
$ipadresse = "XXX.XXX.XXX.XXX";
$ipadresse = "XXX.XXX.XXX.XXX";
if ($_SERVER["REMOTE_ADDR"] == "$ipadresse") {
header("Location: ingenadgang.php");
}
?>

Men heller ikke det virkede, derefter prøvede jeg:

<?
$ipadresse = "XXX.XXX.XXX.XXX",
$ipadresse = "XXX.XXX.XXX.XXX";
if ($_SERVER["REMOTE_ADDR"] == "$ipadresse") {
header("Location: ingenadgang.php");
}
?>

Med et komme i stedet for semikolon men også uden succes!

Er der nogen der enten kender koden og kan fortælle mig hvordan jeg kan banne flere, eller nogen der evt. kan sende en helt anden kode??

Jonas Pedersen



13 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udKode 


--
Ronni Egeriis - http://sqdev.dk/
Co-Admin



dit første forsøg skulle virke, men du kan gøre det kortere med:


<?
if ($_SERVER["REMOTE_ADDR"] == "XXX.XXX.XXX.XXX"||$_SERVER["REMOTE_ADDR"] == "XXX.XXX.XXX.XXX")
header("Location: ingenadgang.php");
?>




Du burde kunne oprette et array med alle de IP'er der ikke må have adgang...

$ipadresse[] = "xxx1.xxx1.xxx1.xxx1";
$ipadresse[] = "xxx2.xxx2.xxx2.xxx2";
$ipadresse[] = "xxx3.xxx3.xxx3.xxx3";

Derefter kan du køre en løkke, der i hver "omgang" tjekker om brugeren har adgang.

for ($n = 0; $n < $antal_iper; $n++) {
if ($ipadresse[$n] == $bruger_ip) {header ("location.....");}
}



Prøv det her script, der skal du ikke rette i nogle koder, men kun styre hele svineriet via et såkaldt 'web interface'.
Lavet af mig selv også, uha da da...

http://ip2.users.whitehat.dk/

[Redigeret d. 02/02-04 21:31:00 af Brian Nielsen]



Jeg kan desuden henvise til mit banscript, som bruger MySQL:

http://sqdev.dk/?mode=projekter§ion=view&id=3


--
Ronni Egeriis - http://sqdev.dk/
Co-Admin



Ronni Egeriis' måde at gøre det på er meget bedre.



/AC



Æj!... I er alt for hurtige! :)



Simon: Du burde kigge på http://dk2.php.net/in_array :)

--
Ronni Egeriis - http://sqdev.dk/
Co-Admin



Hehe Ronni...
For mig at se er det et spørgsmål om smag og behag.



For mig at se er det et spørgsmål om at lave det så overskueligt som muligt, og så vidt som muligt bruge de indbyggede funktioner, fremfor at belaste serveren :)
Men okay! :)


--
Ronni Egeriis - http://sqdev.dk/
Co-Admin



<< < 12 > >>
t