Am codul...
[php]
$bmode = 1;
$blockip = array("127.0.0.1");
$mesaj = "<title>IP-ul " . $_SERVER["REMOTE_ADDR"] ." este restrictionat !!!</title><br><br><center><font color=\"red\" size=\"12\"><b>!!! ACCES INTERZIS !!!</b></font></center><br><br>Accesul tau la aceasta pagina este interzis pentru ca:";
$blockmsg = array("" . $mesaj . " <b><u>motiv?</u></b> <br><br><br>",
);
$x = count($blockip);
for ($y = 0; $y < $x; $y++) {
if ($bmode == 1 && $REMOTE_ADDR == $blockip[$y]) {
exit($blockmsg[$y]);
} else if ($bmode == 0 && $REMOTE_ADDR == $blockip[$y]) {
break;
}
}[/php]
ceea ce vreau eu, sa pot sa BAN-ez pe site o intreaga clasa de IP. Daca pun [php]$blockip = array("127.0.0.*");[/php] nu imi ia nici un IP. Sper sa ma poata ajuta cineva.. sa modifice codul sa pot pune doar clasa de IP`uri, sa nu fie nevoie sa scriu fiecare IP in parte.
Have nice day
MASS BAN pe clasa de IP ?
Moderatori: Zamolxe, Moderatori
Evident, cheia e la $REMOTE_ADDR = $blockip[$y].
Ce e mai interesant e ca n-ai habar de PHP: cum ti-ai imaginat ca punand 127.0.0.* in loc de 127.0.0.1, in codul postat, vei obtine ce doresti ?
Si acum, codul:
[php]
/*
Lista adreselor ("clase de adrese" - desi e incorect, clasele de adrese IP inseamna altceva)
Fiecare element din array-ul de mai jos e o expresie regulata (regex) care determina "clasa de adrese" - exemplul este cam ce vroiai tu cu 127.0.0.*
*/
$banned_ips = array(
'127\.0\.0\..*',
);
/*
Dupa executia buclei de mai jos variabila $banned va fi TRUE daca adresa e banned si FALSE daca nu
*/
$banned = false;
foreach ($banned_ips as $banned_ip)
if (preg_match($banned_ip, $REMOTE_ADDR))
{
$banned = true;
break;
}
[/php]
Numa' bune.
[offtopic]
Cred ca ar trebui sa se creeze un nou forum: ceva de genul "Cereri de scripturi" unde ar trebui sa posteze nu cei care vor sa invete ci cei care vor anume scriptuiri.
[/offtopic]
Ce e mai interesant e ca n-ai habar de PHP: cum ti-ai imaginat ca punand 127.0.0.* in loc de 127.0.0.1, in codul postat, vei obtine ce doresti ?
Si acum, codul:
[php]
/*
Lista adreselor ("clase de adrese" - desi e incorect, clasele de adrese IP inseamna altceva)
Fiecare element din array-ul de mai jos e o expresie regulata (regex) care determina "clasa de adrese" - exemplul este cam ce vroiai tu cu 127.0.0.*
*/
$banned_ips = array(
'127\.0\.0\..*',
);
/*
Dupa executia buclei de mai jos variabila $banned va fi TRUE daca adresa e banned si FALSE daca nu
*/
$banned = false;
foreach ($banned_ips as $banned_ip)
if (preg_match($banned_ip, $REMOTE_ADDR))
{
$banned = true;
break;
}
[/php]
Numa' bune.
[offtopic]
Cred ca ar trebui sa se creeze un nou forum: ceva de genul "Cereri de scripturi" unde ar trebui sa posteze nu cei care vor sa invete ci cei care vor anume scriptuiri.
[/offtopic]
People ask for criticism, but they only want praise.
W. Somerset Maugham (1874 - 1965).
http://www.arond-design.ro
W. Somerset Maugham (1874 - 1965).
http://www.arond-design.ro
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 20 vizitatori