A mio parere, è meglio bannarli via htaccess:
Codice:
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} ^xx\.yyy\.zzz$
RewriteRule ^(.*)$ bannato.php [L]
L'importante è conoscere un minimo delle espressioni regolari.
Se ci tieni farlo in php, ho fatto questo script:
Codice PHP:
<?php
$ips = file('ip.txt');
$ip = $_SERVER['REMOTE_ADDR'];
function check($str) {
global $ip;
$str = '/^' . str_replace(array('*', '.'), array('[0-9]', '\\.'), $str) . '/';
return preg_match($str, $ip) !== false;
}
foreach($ips as $i) {
if(check($i)) {
header('Location: bannato.php');
}
}
?>
E nel file ip.txt, inserisci tutti gli ip che vuoi bannare, separati da un ritorno a capo. Il simbolo * corrisponde a qualsiasi numero: