Nick Wilson wrote:
hello all
I am foreach()ing through an array of ip addresses in a 'ban script' and have the following php code:
foreach($ips as $ip) { preg_match("/$ip/", $_SERVER[REMOTE_ADDR]); $ban = TRUE; }
This is great, but if 127.0.0 were in the ban list (for example) it would still produce a ban as it partially matches.
How can I alter the above so that only *exact* matches are banned?
Much thanks!
I'd rather go with something like this:
$banned_ips = array('123.123.123.123', '321.321.321.321'); // Banned IPs
if (in_array($_SERVER['REMOTE_ADDR'], $banned_ips)) { die('Dude, you\'re banned!'); }
But if I were you I'd choose something more advanced.
And yes, I'm aware of the fact that 321.321.321.321 isn't a valid IP...
-- Daniel Schierbeck
Help spread Firefox (www.getfirefox.com): http://www.spreadfirefox.com/?q=user/register&r=6584
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php