Jump to content

[SOLVED] Simple PHP script logging visitors but want to exclude bots


Recommended Posts

I have a really simple PHP script that is logging visits to a page on my website into a database with details of the IP address and referrer details.

 

One specific referrer is sending a large amount of page visits to us but they appear to be incorrect/irrelevant as (1) the number of visits is disproportionate to the times the form on the page is completed compare to other referrers and (2) I have a separate tracker provided by my website host that isn't logging the same high volumes of clicks as my simple PHP script.

 

My knowledge of PHP is fair but in terms of programs like website trackers/statistics I haven't got a clue but I assume the problem is because my basic script is logging bots as well as humans whereas the more sophisticated one provided by my host has the ability to exclude these.

 

Any idea how I can establish whether a page visit is a human user or bot before I log it into my database?

This will work

function isSpider($userAgent) {
	if(stristr($userAgent, "Googlebot")		|| 	/* Google */
	   stristr($userAgent, "Slurp")			|| 	/* Inktomi/Y! */
	   stristr($userAgent, "MSNBOT")    	|| 	/* MSN */
	   stristr($userAgent, "teoma")    		|| 	/* Teoma */
	   stristr($userAgent, "ia_archiver")   || 	/* Alexa */
	   stristr($userAgent, "Scooter")    	|| 	/* Altavista */
	   stristr($userAgent, "Mercator")    	|| 	/* Altavista */
	   stristr($userAgent, "FAST")    		|| 	/* AllTheWeb */
	   stristr($userAgent, "MantraAgent")   || 	/* LookSmart */
	   stristr($userAgent, "Lycos")    		|| 	/* Lycos */
	   stristr($userAgent, "ZyBorg")) {    		/* WISEnut */

	   	return true;
	}
	return false;
}



if(!isSpider(getenv("HTTP_USER_AGENT"))) {
   // user tracking logic goes in here
}

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.