Daniel Schierbeck wrote:
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



Reply via email to