1. Do pobrania adresu IP lepiej użyć:
<?php
function GetClientIP()
{
$ip = 0;
if( ! empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) ) {
$ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
}
if( !empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) ) {
$ipList = explode( ", ", $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ); if( $ip )
{
$ip = 0;
}
foreach( $ipList as $v )
{
if( !eregi( "^(192.168|172.16|10|224|240|127|0.", $v ) ) {
return $v;
}
}
}
return $ip ? $ip : $_SERVER[ 'REMOTE_ADR' ];
}
?>
2. Lepiej nie blokuj ludzi na podstawie samego
IP, nawet uwzglądniając kilkakrotne wejście. Ponieważ w ten sposób możesz zablokować całe miasto lub jego część. Pamiętak o zmiennych adresach Neostrady.
Lepiej do takiego banowania użyć kombinacji
IP +
cookies. Do tego możesz dołożyć informacje o wersji przeglądarki i systemu operacyjnego. Dopiero takie informacje w bardziej jednoznaczny sposób identyfikują usera.