Re: Hostname Filtering

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux