Hey all, thanks for reading my little problem, I believe I'm just doing something stupid and not seeing it...
I have a function using preg match and eregi to ban a user by IP or partial IP
Let's say current user / view: $REMOTE_ADDR = 24.4.20.120
$bannedIPArr[]='81.177.'; // ban all start from 123. 24.4.20
$bannedIPArr[]='24.4.20.'; // ban all start from 123. 24.4.20
print "Banned IParr = ";
print_r($bannedIPArr)."<br>";
$banfun = BannedIP1( $bannedIPArr, $REMOTE_ADDR );
if ( $banfun )
echo "banned function = True";
else echo "banned function = false";
FUNCTION BannedIP1( $bannedIPArr, $REMOTE_ADDR )
{
$banned = FALSE;
FOREACH ( $bannedIPArr AS $value ) {
echo "<br>"."foreach val ".$value."<br>";
IF ( eregi( $REMOTE_ADDR, $value ) )
$banned = TRUE;
IF ( eregi( $REMOTE_ADDR, $value ) )
echo "eregi = true"."<br>";
ELSE echo "eregi = false"."<br>";
IF ( preg_match( "/^$REMOTE_ADDR/", $value ) ) {
$banned = TRUE;
}
IF ( preg_match( "/^$REMOTE_ADDR/", $value ) )
echo "preg = true"."<br>";
ELSE echo "preg = false"."<br>";
} # [ END ] FOREACH ( $bannedIPArr AS $REMOTE_ADDR )
RETURN $banned;
}
BannedIP1() always returns false?
the preg echo is always false
the eregi echo is alsways false
can anyone see what I"m doing wrong...I just don't see why it's not working