Valido xHTML e CSS

Il contenuto di questa pagina richiede una nuova versione di Adobe Flash Player.

Scarica Adobe Flash Player

SVILUPPO WEB: IP Ban con php e un file di testo
Inserito il 24-07-2010 da maxcrack

Oggi vedremo come creare un semplicissimo ban di ip attraverso l'uso di un database formato da un file di testo, che andrà a contenere gli ip da bloccare.

Gli ip all'interno del file che noi chiameremo "ip_db.txt" dovranno essere sepratati da una virgola e da uno spazio:
ES. 192.168.1.1, 87.149.111.3, 188.156.22.1 ecc.

Fatta questa prima premessa passiamo al codice che ho commentato in modo da farvi capire meglio il funzionamento. Per ogni dubbio o problema potete lasciare commenti infondo.

//IP reale
if (!empty($_SERVER['HTTP_CLIENT_IP'])){ 
$ip=$_SERVER['HTTP_CLIENT_IP']; 
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ 
$ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
} else { 
$ip=$_SERVER['REMOTE_ADDR']; 
}

//file database
$file = "ip_db.txt";
//apro il file
$open=fopen($file,'r');
$contenuto=fread($open,9000);
fclose($open);
//divido ip separati da ,
$contenuto=explode(',',$contenuto);

$i=0;
//messaggio ban
$messaggio_ban='Il tuo '.$ip.' è stato bloccato!';

foreach($contenuto as $ips){
//divido ip sepratati dallo spazio
$ips=explode(' ',$ips);
//confronto gli ip estratti
if($ip==$ips[$i]) {
	//blocco
die($messaggio_ban);
$i=0;
} else {
	//incremento
	++$i;
}
}

Prima di poter lasciare un commento devi ACCEDERE oppure REGISTRATI subito!

» torna indietro