The hostname lookup does not impact performance at all. I am only
doing a look-up on the remote ip of the user not on my full blacklist.
I am using this on a site to log hits to a banner ad and on listings
on a ebay style marketplace. I log the IP and the hostname on a look-
up.
Dan T
On Mar 14, 2006, at 11:30 AM, Philip Hallstrom wrote:
I have a few PHP scripts where I log hit to a page i.e. IP and
hostname via a look up.
What I want to do is create essentially a blacklist to prevent
bots and other hosts and IP from being logged and skewing my
stats. My local IP/host and the MSN and Googlebot hits should not
be in my stats or at least I can flag them to hide them.
For example:
$blacklist = array(
'*.wavefront.ca',
'*.googlebot.com',
'msnbot.msn.com',
'*.inktomisearch.com',
'68.146.96.245'
);
So lets say I have my host:
$host = 'lj602144.inktomisearch.com';
I want to quickly parse this array and return a simple boolean if
I am in the blacklist. I could create a loop and cycle through
the array valves and to a regex on each but I was hoping someone
would have a more elegant solution.
http://us3.php.net/in_array
You might want to rethink things though... if you list hostnames
you're going to have to do a DNS lookup for *every* request to that
script. That's going to take some time.
So you might want to log everything, then after the fact prune the
results. Just be sure to use some sort of dns caching strategy...
-philip
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php