webForumDet fria alternativet

ban-lista (!)

3 svar · 187 visningar · startad av HDJHSKGDKJHSD

HDJHSKGDKJHSDMedlem sedan sep. 2001147 inlägg
#1

hej.

Skulle någon kunna visa mig hur (inte bara länkar, helst ett script tack!) man ska få php att gå igen om en fil (ban.txt) där IP# är separerade med radbrytning (eller annat), och kan man sen göra en if-sats på det?

t.ex
if (IP# finns i filen) {
tillåt inte!
} else {
fortsätt som vanligt
}

förstår ni? (förstår jag?) :)

KimMedlem sedan jan. 20007 697 inlägg
#2

Om IP-numrena ligger på varsin rad så bör detta fungera.

<?php

$filename = "ban.txt";
$banFile = fopen($filename, "r");
$banList = fread($banFile, filesize($filename));

$banArray = explode($banList, "\n");

for($i=0; $i<count($banArray); $i++) {
    if($REMOTE_ADDR == $banArray[$i]) {
        exit; // TILLÅT EJ
    } else {
        echo "Du kom in!";
    }
}

fclose($banFile);

?>

------------------
de'nim

HDJHSKGDKJHSDMedlem sedan sep. 2001147 inlägg
#3

hmm, jag har inte hunnit kolla vad som kan vara fel hittils men vid första test av detta;

jag satte in koden i ett nytt dokument, och "warning: empty delimeter on line 2"..

Vad är fel? :)

pimmeMedlem sedan sep. 20011 086 inlägg
#4

prova att köra de här:
<?
$filnamn = "ban.txt";
$fil = file($filnamn);
if(in_array($REMOTE_ADDR, $fil)){
echo "Ej tillåten";
}else{
echo "ok";
}
?>

/r
glömde ett )

------------------
//pimme

[Redigerat av pimme den 02 nov 2001]

123 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)