Add to Google Reader or Homepage

mercoledì 07 gennaio 2009

Advertisement


Menù

Home
Html & XHtml
Css
Javascript
Php
Motori di ricerca
Contatti

Login Form






Password dimenticata?
Nessun account? Registrati


Home arrow Php arrow Articoli php arrow Bloccare gli indirizzi IP dei visitatori fastidiosi

Bloccare gli indirizzi IP dei visitatori fastidiosi Stampa E-mail
Scritto da Vincenzo   
A volte si può avere la necessità di negare l'accesso al sito ai visitatori indesiderati, non è molto difficile, servono solo poche righe di php per risolvere il problema...

Innanzitutto creiamo un file chiamato "ip.txt" ed inseriamo al suoi interno tutti gli indirizzi IP dei visitatori fastidiosi separati da un trattino:

127.0.0.1-000.000.000.0000-111.111.111.111

salviamo il file e posizioniamolo nella root del sito web!!!

Ora che abbiamo deciso quali sono gli ip da bloccare possiamo creare il file chiamato banIP.php ed inserire al suo interno il seguente contenuto (viene spiegato passo passo nei commenti):

<?php
#SCRIPT banIP

//copio il contenuto del file in una stringa
$filename="ip.txt";
$handle=@fopen($filename, "r");
$contents=@fread($handle, filesize($filename));
@fclose($handle);
 
/*
creo un array con gli indirizzi da bloccare: la funzione trim() serve ad eliminare gli spazi vuoti invece la funzione explode() serve ad aggiungere un nuovo valore all'array separandolo in corrispondenza del carattere "-".
*/
$array_ip=(array_map('trim', explode('-', $contents)));

/*conto il numero totale di indirizzi con la funzione  count()*/
$indirizzi_totali=count($array_ip);

/*recupero l'ip del visitatore*/
$ip_attuale=$_SERVER['REMOTE_ADDR'];

/*creo un ciclo in cui effettuo la verifica di tutti gli ip*/
for ($x=0; $x<$indirizzi_totali; $x++){
    /*se l’ip del visitatore è uguale ad uno degli indirizzi contenuti nell’array “$array_ip” esco dalla pagina.*/
    if ($array_ip[$x]==$ip_attuale){
        echo "Impossibile accedere con questo IP.<br />";
        echo "Il tuo indirizzo è ".$ip_attuale;
        exit();
    }
}
?>

Non ci resta che salvare lo script nella stessa directoy in cui abbiamo salvato il file ip.txt ed includerlo all'inizio di ogni pagina a cui si vuole negare l'accesso di determinati visitatori usando la funzione incude:

include 'banIP.php';

Un altro metodo per bloccare gli IP è quello di creare un file chiamato .htaccess, posizionarlo nella root del sito ed inserire al suo interno il seguente codice:

order allow, deny
allow from all
deny from <indirizzo ip da bloccare>
 
< Prec.   Pros. >


Feed Rss


Corso PHP Completo
Corso completo per la creazione di siti Web dinamici. Corso con assistenza ed attestato finale!
Corso MySQL
Gestione del database open-source. Corso con assistenza ed attestato finale!