Niezmiernie sie nudzilem :-) wiec napisalem cos takiego moze komus sie przyda :-P
Co prawda nie ma cache itp (banow na hosty) ale powino wystarczyc dla mniej wymagajacych ;-) (zawsze mozna rozbudowac)
<?php function ban( $arrList, $ip ) { // Ma bana return TRUE; } // Jezeli dane jedziesz z pliku to proponuje dopisac do tej tablicy jeszcze // \"n\" => '', \"r\" => '' // :-) foreach( $arrList AS $key => $value ) { return TRUE; } } return FALSE; } ?>
To cala funkcja nastepnie...
Proste uzycie
<?php '10.1.1.1', '*.212.0.1', '1?2.3.4.2', '*.1?2.3.*' ); $ip = '10.1.1.1'; //$ip = $_SERVER['REMOTE_ADDR']; if( ban( $array, $ip ) ) { } else { } ?>
a to chyba najbardziej wygodne
<?php } ?>
Chyba glowny plus to maski wiec dzialaja one tak
* dowolna liczba z zakresu 0-255 czyli np 10.0.0.*
Banuje
10.1.1.0
10.1.1.1
...
10.1.1.255
? dowolna liczba z zarkesu od 9-0 czyli
10.?.0.0
Banuje
10.1.0.0
10.2.0.0
10.3.0.0
...
10.9.0.0
Ale juz nie
10.10.0.0 :-) (jakby bylo zamias ? * to by byl ban)
Mozna oczywsice z ? kozystac w polaczeniu np
10.12?.1.1
Banuje
10.120.1.1
10.121.1.1
...
10.129.1.1
Jak i laczyc wszytko np
*.23?.*.*