Guest Posted January 5, 2006 Posted January 5, 2006 Code was taken from this contribution http://www.oscommerce.com/community/contri...all/search,suma Be aware, this contrib does not work when autologon contrib is set to true if installed! But then again, if installed, it doesn't hurt the shop either, it just doesn't make logfiles! Quote
Guest Posted January 5, 2006 Posted January 5, 2006 Sorry guys, after a lot more of testing, this change only does exclude the robots, somehow the exluded ip's still do make database insertions! Hope someone can make it work! Quote
valeeum Posted January 6, 2006 Posted January 6, 2006 Is there any way to do reporting that is customized by date? Quote
equilla Posted January 6, 2006 Author Posted January 6, 2006 Is there any way to do reporting that is customized by date? Hi, yes, this is possible but it requires some more code to be written in order to filter the data generated in the MySQL queries in admin. It's still on my to do list unfortunately.... Regards, Mark Quote Mark Stephens Contribs: http://www.oscommerce.com/community/contributions,1680 http://www.oscommerce.com/community/contributions,1467 http://www.oscommerce.com/community/contributions,1422
Guest Posted January 7, 2006 Posted January 7, 2006 Any plans to exclude the Bots? They are all one a site I installed this FABULOUS contrib on every single day. Its a real B**ch to wade through all the bot stuff because they surf so many products for each session.... Thanks for the contrib tho... works great! Sorry guys, after a lot more of testing, this change only does exclude the robots, somehow the exluded ip's still do make database insertions! Hope someone can make it work! Quote
burchi Posted January 9, 2006 Posted January 9, 2006 Hello, after installing the Supertracker contrib everything seems to be o.k. so long I type in my adress like www.copierparts.de/index.php but by typing only www.copierparts.de the following error comes: Warning: strpos(): Empty delimiter. in /home/mbcopdb6/www.copierparts.de/includes/classes/supertracker.php on line 161 Please help! Matthias Quote
Guest Posted January 9, 2006 Posted January 9, 2006 To exclude ip's and robots!!!!!!!!!!!!!!!!! It does work fine now. Hereby my includes/classes/supertracker.php! Have fun with it! -------------------------------------------------------------------------------------------------- <?php /* $Id: supertracker.php,v3.1 2005/10/22 osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ class supertracker { function supertracker(){ } function update() { global $cart, $HTTP_GET_VARS, $customer_id; //// **** CONFIGURATION SECTION **** //// //Comma Separate List of IPs which should not be recorded, for instance, your own PCs IP address, or //that of your server if you are using Cron Jobs, etc $excluded_ips = ''; //// **** CONFIGURATION SECTION EOF **** //// $record_session = true; $ip_address = $_SERVER['REMOTE_ADDR']; if ($excluded_ips != '') { $ex_array = explode(',',$excluded_ips); foreach ($ex_array as $key => $ex_ip) { if ($ip_address == $ex_ip) $record_session = false; } } /////////////////////////////////////////////////////////////////// exclude robots $agent = $_SERVER['HTTP_USER_AGENT']; $arr = array("msnbot", "googlebot", "slurp", "abot", "dbot", "ebot", "hbot", "kbot", "mbot", "nbot", "obot", "pbot", "rbot", "sbot", "tbot", "ybot", "bot.", "crawl", "slurp", "spider", "accoona", "acoon", "ah-ha.com", "ahoy", "altavista", "ananzi", "anthill", "appie", "arachnophilia", "arale", "araneo", "aranha", "architext", "aretha", "arks", "aspseek", "asterias", "atlocal", "atn", "atomz", "augurfind", "backrub", "bannana_bot", "big brother", "bjaaland", "blackwidow", "bloodhound", "boitho", "booch", "bradley", "calif", "cassandra", "ccubee", "cfetch", "churl", "cienciaficcion", "cmc", "collective", "combine system", "computingsite", "cusco", "deepindex", "deweb", "die blinde kuh", "digger", "dmoz", "docomo", "download express", "dwcp", "ebiness", "e-collector", "ejupiter", "emacs-w3 search engine", "esther", "evliya celebi", "ezresult", "falcon", "felix ide", "ferret", "fetchrover", "fido", "findlinks", "fireball", "fish search", "fouineur", "funnelweb", "gazz", "gcreep", "getterroboplus", "geturl", "glx", "goforit", "golem", "grabber", "grapnel", "griffon", "gromit", "grub", "gulliver", "hamahakki", "harvest", "havindex", "helix", "heritrix", "hku www octopus", "homerweb", "htdig", "html index", "html_analyzer", "htmlgobble", "hubater", "hyper-decontextualizer", "ia_archiver", "ibm_planetwide", "ichiro", "iconsurf", "iltrovatore", "image.kapsi.net", "imagelock", "incywincy", "indexer", "infobee", "informant", "infoseek", "ingrid", "inktomisearch.com", "inspector web", "intelliagent", "internet shinchakubin", "ip3000", "iron33", "israeli-search", "ivia", "jack", "jakarta", "java/", "javabee", "jetbot", "jumpstation", "katipo", "kdd-explorer", "kilroy", "knowledge", "kototoi", "labelgrabber", "lachesis", "larbin", "legs", "libwww", "linkalarm", "link validator", "linkscan", "linkwalker", "lockon", "lwp", "lycos", "magpie", "mantraagent", "marvin/", "mattie", "mediafox", "mediapartners", "mercator", "merzscope", "miva", "mj12", "mnogosearch", "moget", "monster", "moose", "motor", "multitext", "muncher", "muscatferret", "mwd.search", "myweb", "nameprotect", "nationaldirectory", "nazilla", "ncsa beta", "nec-meshexplorer", "nederland.zoek", "netcarta webmap engine", "netmechanic", "netresearchserver", "netscoop", "newscan-online", "ng/", "nhse", "nomad", "nutch", "nzexplorer", "objectssearch", "occam", "omni", "open text", "openfind", "orb search", "osis-project", "pack rat", "pageboy", "parasite", "partnersite", "patric", "pear.", "pegasus", "peregrinator", "pgp key agent", "phantom", "phpdig", "picosearch", "piltdownman", "pimptrain", "pinpoint", "pioneer", "piranha", "plumtreewebaccessor", "pompos", "poppelsdorf", "poppi", "popular iconoclast", "rambler", "raven search", "roach", "road runner", "roadhouse", "robbie", "robofox", "robozilla", "rules", "salty", "sbider", "scooter", "scrubby", "search.", "searchprocess", "seeker", "semanticdiscovery", "senrigan", "sg-scout", "shai'hulud", "shark", "shopwiki", "sidewinder", "sift", "simmany", "site searcher", "site valet", "sitetech-rover", "skymob.com", "sleek", "smartwit", "sna-", "snooper", "sohu", "speedfind", "spinner", "spyder", "steeler/", "suke", "suntek", "supersnooper", "surfnomore", "sven", "sygol", "szukacz", "tach black widow", "tarantula", "templeton", "/teoma", "t-h-u-n-d-e-r-s-t-o-n-e", "titan", "titin", "tkwww", "toutatis", "t-rex", "tutorgig", "ucsd", "udmsearch", "ultraseek", "url check", "vagabondo", "valkyrie", "verticrawl", "victoria", "vision-search", "volcano", "voyager/", "w3c_validator", "w3m2", "w3mir", "wallpaper", "wanderer", "web core", "web hopper", "web wombat", "webbandit", "webcatcher", "webcopy", "webfoot", "weblayers", "weblinker", "weblog monitor", "webmirror", "webquest", "webreaper", "websitepulse", "websnarf", "webstolperer", "webvac", "webwalk", "webwatch", "webwombat", "webzinger", "wget", "whatuseek", "whizbang", "whowhere", "wild ferret", "wire", "worldlight", "wwwc", "xenu", "xget", "xift", "yandex", "zao/", "zippp", "zyborg"); foreach ($arr as $bot) { if (eregi($bot, $agent)) { $bot_here = "1"; } } if ($bot_here == "1") { $record_session = false; } ///////////////////////////////////////////////////////////////////// //Big If statement that stops us doing anything more if this IP is one of the //ones we have chosen to exclude if ($record_session) { $existing_session = false; $thirty_ago_timestamp = strtotime("now") - (30*60); $thirty_mins_ago = date('Y-m-d H:i:s', $thirty_ago_timestamp); $browser_string = $_SERVER['HTTP_USER_AGENT']; $ip_array = explode ('.',$ip_address); $ip_start = $ip_array[0] . '.' . $ip_array[1]; //Find out if this user already appears in the supertracker db table //First thing to try is customer_id, if they are signed in $query_array[0] = "from supertracker where customer_id ='" . $customer_id . "' and last_click > '" . $thirty_mins_ago . "'"; $query_array[1] = "from supertracker where ip_address like '" . $ip_address . "%' and last_click > '" . $thirty_mins_ago . "' and browser_string ='" . $browser_string . "'"; $query_array[2] = "from supertracker where cart_total ='" . $cart->show_total() . "' and last_click > '" . $thirty_mins_ago . "'"; $query_sucess = -1; if (isset($customer_id)) { $query = "select 1 " . $query_array[0]; $result = tep_db_query($query); if (tep_db_num_rows ($result) > 0) { $existing_session = true; $query_sucess = 0; } } //Next, we try this: compare first 2 parts of the IP address (Class B), and the browser //Identification String, which give us a good chance of locating the details for a given user. I reckon //that the chances of having more than 1 user within a 30 minute window with identical values //is pretty small, so hopefully this will work and should be more reliable than using Session IDs.... if (!$existing_session) { $query = "select 1 " . $query_array[1]; $result = tep_db_query($query); if (tep_db_num_rows ($result) > 0) { $existing_session = true; $query_sucess = 1; } } //If that didn't work, and we have something in the cart, we can use that to try and find the //record instead. Obviously, people with things in their cart don't just appear from nowhere! if (!$existing_session) { if ($cart->count_contents()>0) { $query = "select 1 " . $query_array[2]; $result = tep_db_query($query); if (tep_db_num_rows ($result) > 0) { $existing_session = true; $query_sucess = 2; } } } //Having worked out if we have a new or existing user session lets record some details....! if ($existing_session) { $query = "select * " . $query_array[$query_sucess]; $result = tep_db_query($query); //Existing tracked session, so just update relevant existing details $tracking_data = tep_db_fetch_array($result); $tracking_id = $tracking_data['tracking_id']; $products_viewed=$tracking_data['products_viewed']; $added_cart = $tracking_data['added_cart']; $completed_purchase = $tracking_data['completed_purchase']; $num_clicks = $tracking_data['num_clicks']+1; $categories_viewed = unserialize($tracking_data['categories_viewed']); $cart_contents = unserialize($tracking_data['cart_contents']); $cart_total = $tracking_data['cart_total']; $order_id = $tracking_data['order_id']; if (isset($customer_id)) $cust_id=$customer_id; else $cust_id=$tracking_data['customer_id']; $current_page=$_SERVER['PHP_SELF']; $last_click = date('Y-m-d H:i:s'); //Find out if the customer has added something to their cart for the first time if (($added_cart!='true') && ($cart->count_contents()>0)) $added_cart = 'true'; //Has a purchase just been completed? if ((strstr($current_page, 'checkout_success.php'))&& ($completed_purchase!='true')) { $completed_purchase='true'; $order_q = "select orders_id from orders where customers_id = '" . $cust_id . "' ORDER BY date_purchased DESC"; $order_result = tep_db_query($order_q); if (tep_db_num_rows($order_result) > 0) { $order_row = tep_db_fetch_array($order_result); $order_id = $order_row['orders_id']; } } //If customer is looking at a product, add it to the list of products viewed if (strstr($current_page, 'product_info.php')) { $current_product_id = $HTTP_GET_VARS['products_id']; if (!strstr($products_viewed, '*' . $current_product_id . '?')) { //Product hasn't been previously recorded as viewed $products_viewed .= '*' . $current_product_id . '?'; } } //Store away their cart contents //But, the cart is dumped at checkout, so we don't want to overwrite the stored cart contents //In this case $current_cart_contents = serialize($cart->contents); if (strlen($current_cart_contents)>6) { $cart_contents = $current_cart_contents; $cart_total = $cart->show_total(); } //If we are on index.php, but looking at category results, make sure we record which category if (strpos($current_page, 'index.php')) { if (isset($_GET['cPath'])) { $cat_id = $_GET['cPath']; $cat_id_array = explode('_',$cat_id); $cat_id = $cat_id_array[sizeof($cat_id_array)-1]; $categories_viewed[$cat_id]=1; } } $categories_viewed = serialize($categories_viewed); $query = "UPDATE supertracker set last_click='" . $last_click . "', exit_page='" . $current_page . "', num_clicks='" . $num_clicks . "', added_cart='" . $added_cart . "', categories_viewed='" . $categories_viewed . "', products_viewed='" . $products_viewed . "', customer_id='" . $cust_id . "', completed_purchase='" . $completed_purchase . "', cart_contents='" . $cart_contents . "', cart_total = '" . $cart_total . "', order_id = '" . $order_id . "' where tracking_id='" . $tracking_id . "'"; tep_db_query($query); } else { //New vistor, so record referrer, etc //Next line defines pages on which a new visitor should definitely not be recorded $prohibited_pages = 'login.php,checkout_shipping.php,checkout_payment.php,checkout_process.php,ch eckout_confirmation.php,checkout_success.php'; $current_page=$_SERVER['PHP_SELF']; if (!strpos($prohibited_pages, $current_page)) { $refer_data = $_SERVER['HTTP_REFERER']; $refer_data = explode('?', $refer_data); $referrer=$refer_data[0]; $query_string=$refer_data[1]; $ip = $_SERVER['REMOTE_ADDR']; $browser_string = $_SERVER['HTTP_USER_AGENT']; include(DIR_WS_INCLUDES . "geoip.inc"); $gi = geoip_open(DIR_WS_INCLUDES . "GeoIP.dat",GEOIP_STANDARD); $country_name = geoip_country_name_by_addr($gi, $ip); $country_code = strtolower(geoip_country_code_by_addr($gi, $ip)); geoip_close($gi); $time_arrived = date('Y-m-d H:i:s'); $landing_page = $_SERVER['REQUEST_URI']; $query = "INSERT INTO `supertracker` (`ip_address`, `browser_string`, `country_code`, `country_name`, `referrer`,`referrer_query_string`,`landing_page`,`exit_page`,`time_arrived`,`last_click`) VALUES ('" . $ip . "','" . $browser_string . "','" . $country_code . "', '" . $country_name . "', '" . $referrer . "', '" . $query_string . "','" . $landing_page . "','" . $current_page . "','" . $time_arrived . "','" . $time_arrived . "')"; tep_db_query($query); }//end if for prohibited pages }//end else }//End big If statement (Record Exclusion for certain IPs) }//End function update }//End Class ?> Quote
Guest Posted January 10, 2006 Posted January 10, 2006 Nice peice of work Fons. I installed it earlier today and it is working very good... Thanks! Quote
Guest Posted January 10, 2006 Posted January 10, 2006 I almost forgot... I did have one problem when I copied the code from your post.... when I loaded a catalog page I got the SQL error: "Unknown column "las t_click". There was a line break in the code right after the s I tried posting my working file with the BBCODE but it still causes a line break....so... if anyone gets the error, look towards the bottom of the file (around line 204) for: la st_click put your cursor/caret in front of the "s" and hit backspace to make it all one line.... Below is the entire query. For some reason this bulletin board causes the line break even when using the bbcode for [code] $query = "INSERT INTO `supertracker` (`ip_address`, `browser_string`, `country_code`, `country_name`, `referrer`,`referrer_query_string`,`landing_page`,`exit_page`,`time_arrived`,`last_click`) VALUES ('" . $ip . "','" . $browser_string . "','" . $country_code . "', '" . $country_name . "', '" . $referrer . "', '" . $query_string . "','" . $landing_page . "','" . $current_page . "','" . $time_arrived . "','" . $time_arrived . "')"; tep_db_query($query); Cheers :thumbsup: Quote
Guest Posted January 10, 2006 Posted January 10, 2006 Just use your old supertracker.php and add the exlude bots part! That should work //Comma Separate List of IPs which should not be recorded, for instance, your own PCs IP address, or //that of your server if you are using Cron Jobs, etc $excluded_ips = ''; //// **** CONFIGURATION SECTION EOF **** //// $record_session = true; $ip_address = $_SERVER['REMOTE_ADDR']; if ($excluded_ips != '') { $ex_array = explode(',',$excluded_ips); foreach ($ex_array as $key => $ex_ip) { if ($ip_address == $ex_ip) $record_session = false; } } /////////////////////////////////////////////////////////////////// exclude robots $agent = $_SERVER['HTTP_USER_AGENT']; $arr = array("msnbot", "googlebot", "slurp", "abot", "dbot", "ebot", "hbot", "kbot", "mbot", "nbot", "obot", "pbot", "rbot", "sbot", "tbot", "ybot", "bot.", "crawl", "slurp", "spider", "accoona", "acoon", "ah-ha.com", "ahoy", "altavista", "ananzi", "anthill", "appie", "arachnophilia", "arale", "araneo", "aranha", "architext", "aretha", "arks", "aspseek", "asterias", "atlocal", "atn", "atomz", "augurfind", "backrub", "bannana_bot", "big brother", "bjaaland", "blackwidow", "bloodhound", "boitho", "booch", "bradley", "calif", "cassandra", "ccubee", "cfetch", "churl", "cienciaficcion", "cmc", "collective", "combine system", "computingsite", "cusco", "deepindex", "deweb", "die blinde kuh", "digger", "dmoz", "docomo", "download express", "dwcp", "ebiness", "e-collector", "ejupiter", "emacs-w3 search engine", "esther", "evliya celebi", "ezresult", "falcon", "felix ide", "ferret", "fetchrover", "fido", "findlinks", "fireball", "fish search", "fouineur", "funnelweb", "gazz", "gcreep", "getterroboplus", "geturl", "glx", "goforit", "golem", "grabber", "grapnel", "griffon", "gromit", "grub", "gulliver", "hamahakki", "harvest", "havindex", "helix", "heritrix", "hku www octopus", "homerweb", "htdig", "html index", "html_analyzer", "htmlgobble", "hubater", "hyper-decontextualizer", "ia_archiver", "ibm_planetwide", "ichiro", "iconsurf", "iltrovatore", "image.kapsi.net", "imagelock", "incywincy", "indexer", "infobee", "informant", "infoseek", "ingrid", "inktomisearch.com", "inspector web", "intelliagent", "internet shinchakubin", "ip3000", "iron33", "israeli-search", "ivia", "jack", "jakarta", "java/", "javabee", "jetbot", "jumpstation", "katipo", "kdd-explorer", "kilroy", "knowledge", "kototoi", "labelgrabber", "lachesis", "larbin", "legs", "libwww", "linkalarm", "link validator", "linkscan", "linkwalker", "lockon", "lwp", "lycos", "magpie", "mantraagent", "marvin/", "mattie", "mediafox", "mediapartners", "mercator", "merzscope", "miva", "mj12", "mnogosearch", "moget", "monster", "moose", "motor", "multitext", "muncher", "muscatferret", "mwd.search", "myweb", "nameprotect", "nationaldirectory", "nazilla", "ncsa beta", "nec-meshexplorer", "nederland.zoek", "netcarta webmap engine", "netmechanic", "netresearchserver", "netscoop", "newscan-online", "ng/", "nhse", "nomad", "nutch", "nzexplorer", "objectssearch", "occam", "omni", "open text", "openfind", "orb search", "osis-project", "pack rat", "pageboy", "parasite", "partnersite", "patric", "pear.", "pegasus", "peregrinator", "pgp key agent", "phantom", "phpdig", "picosearch", "piltdownman", "pimptrain", "pinpoint", "pioneer", "piranha", "plumtreewebaccessor", "pompos", "poppelsdorf", "poppi", "popular iconoclast", "rambler", "raven search", "roach", "road runner", "roadhouse", "robbie", "robofox", "robozilla", "rules", "salty", "sbider", "scooter", "scrubby", "search.", "searchprocess", "seeker", "semanticdiscovery", "senrigan", "sg-scout", "shai'hulud", "shark", "shopwiki", "sidewinder", "sift", "simmany", "site searcher", "site valet", "sitetech-rover", "skymob.com", "sleek", "smartwit", "sna-", "snooper", "sohu", "speedfind", "spinner", "spyder", "steeler/", "suke", "suntek", "supersnooper", "surfnomore", "sven", "sygol", "szukacz", "tach black widow", "tarantula", "templeton", "/teoma", "t-h-u-n-d-e-r-s-t-o-n-e", "titan", "titin", "tkwww", "toutatis", "t-rex", "tutorgig", "ucsd", "udmsearch", "ultraseek", "url check", "vagabondo", "valkyrie", "verticrawl", "victoria", "vision-search", "volcano", "voyager/", "w3c_validator", "w3m2", "w3mir", "wallpaper", "wanderer", "web core", "web hopper", "web wombat", "webbandit", "webcatcher", "webcopy", "webfoot", "weblayers", "weblinker", "weblog monitor", "webmirror", "webquest", "webreaper", "websitepulse", "websnarf", "webstolperer", "webvac", "webwalk", "webwatch", "webwombat", "webzinger", "wget", "whatuseek", "whizbang", "whowhere", "wild ferret", "wire", "worldlight", "wwwc", "xenu", "xget", "xift", "yandex", "zao/", "zippp", "zyborg"); foreach ($arr as $bot) { if (eregi($bot, $agent)) { $bot_here = "1"; } } if ($bot_here == "1") { $record_session = false; } ///////////////////////////////////////////////////////////////////// Quote
Sid04 Posted January 10, 2006 Posted January 10, 2006 Fons- good work, this will be very helpful. Quick question...im using supertracker V3.1 and my file has another several lines different then the file you posted. Do these different lines matter, or only whats between the '//////////////////////////'s? Thanks! Quote
Guest Posted January 10, 2006 Posted January 10, 2006 only between the ////////////// and right after the exluded ips Quote
Sid04 Posted January 10, 2006 Posted January 10, 2006 only between the //////////////and right after the exluded ips the part right after the excluded ip's is in the stock file, correct? Quote
Guest Posted January 11, 2006 Posted January 11, 2006 does anybody know why this is no longer in the contribution area? Quote
equilla Posted January 11, 2006 Author Posted January 11, 2006 does anybody know why this is no longer in the contribution area? No word from the powers that be on this one, however I can think of a couple of possible reasons why it was removed. However, it has now come to the point that I need to post a relatively urgent update, so I'll be posting this tonight (I'm in the UK, so that's my tonight...). As the original contribution has vanished it will have to be under a different URL, which I'll advice once it has been done. I'll post it as a complete version for new users, but for upgraders there will only be one file to replace. Regards, Mark Quote Mark Stephens Contribs: http://www.oscommerce.com/community/contributions,1680 http://www.oscommerce.com/community/contributions,1467 http://www.oscommerce.com/community/contributions,1422
equilla Posted January 11, 2006 Author Posted January 11, 2006 Hi All, OK here is the update to the contribution:- http://www.oscommerce.com/community/contributions,3924 I strongly advise all users to update to the latest version as I picked up on something of a security issue this week which has been corrected in this version along with a few other tweaks to clamp down on any similar issues I could think of. I have also added the bots exclusion code provided by Fons (many thanks for this :D ). It's commented out by default (some people like to know what bots are up to), so remove the comments if you want to use this. For upgraders, you need only replace the one file : /catalog/includes/classes/supertracker.php, so it's a simple upgrade. Regards, Mark Quote Mark Stephens Contribs: http://www.oscommerce.com/community/contributions,1680 http://www.oscommerce.com/community/contributions,1467 http://www.oscommerce.com/community/contributions,1422
Guest Posted January 12, 2006 Posted January 12, 2006 thanks for the update! i'm all patched :) Quote
Guest Posted January 12, 2006 Posted January 12, 2006 in addition to the bots blocker. I also get irritated by bots that can not be tracked by USER_AGENT, so the next step is to block ip ranges from hosts or countries Same code as the bot blocker of course :-) //EXCLUDE BOTS END OF SECTION - REMOVE THIS LINE IF YOU WANT TO EXCLUDE BOTS FROM THE STATS //EXCLUDE ip ranges $hostagent = $_SERVER['REMOTE_ADDR']; $host_here = false; $hostarr = array("127.0.0.", "127.0."); foreach ($hostarr as $hostbot) { if (eregi($hostbot, $hostagent)) { $host_here = true; } } if ($host_here) { $record_session = false; } //EXCLUDE ip ranges //Big If statement that stops us doing anything more if this IP is one of the Quote
Sid04 Posted January 12, 2006 Posted January 12, 2006 (edited) Mark- Thanks for the update! Fon- Thanks for your bot blocker! Edited January 12, 2006 by Sid04 Quote
Mookie_Jam Posted January 12, 2006 Posted January 12, 2006 Thanks for all your efforts!! :thumbsup: Can't imagine how such a contribution can dissappear from the list of contributions.. <_< Quote
Guest Posted January 12, 2006 Posted January 12, 2006 For those interested, my new block ip's, ip ranges and botsblocker, now taken from the /incl/spiders.txt ////////////////////////////////////////////////////////////////// //Comma Separate List of IPs which should not be recorded, for instance, your own PCs IP address, or //that of your server if you are using Cron Jobs, etc $excluded_ips = '222.85.49.189,204.13.162.33,82.94.246.15,204.71.191.182,216.205.79.48,82.94. 246.15,60.248.237.127,62.163.164.209,66.103.242.21,66.194.6.72,66.246.218.107,204 .13.162.44,66.49.137.179,219.81.227.34,195.56.65.217,66.103.242.21,80.69.85.180,2 21.147.35.226,204.13.162.36,213.46.124.217,66.194.6.70,204.13.162.35,70.85.193.17 8,193.95.154.69,70.49.85.146,204.13.162.43,81.59.12.77,64.80.82.249,213.46.124.21 7,86.80.225.147,66.87.4.212,212.187.19.1,81.164.19.239,66.28.37.130,84.41.134.207 ,211.227.96.72,80.56.206.219,62.163.164.29,82.173.136.152,207.44.242.75,218.159.1 69.138,66.189.175.91,86.84.222.97,211.227.96.72,212.238.158.67,195.136.80.67,59.1 50.207.223,213.133.41.173,221.144.94.36'; //// **** CONFIGURATION SECTION EOF **** //// $record_session = true; $ip_address = $_SERVER['REMOTE_ADDR']; if ($excluded_ips != '') { $ex_array = explode(',',$excluded_ips); foreach ($ex_array as $key => $ex_ip) { if ($ip_address == $ex_ip) $record_session = false; } } //EXCLUDE ip ranges $hostagent = $_SERVER['REMOTE_ADDR']; $host_here = false; $hostarr = array("204.13.162.", "62.163.164.", "66.103.242."); foreach ($hostarr as $hostbot) { if (eregi($hostbot, $hostagent)) { $host_here = true; } } if ($host_here) { $record_session = false; } //EXCLUDE ip ranges //EXCLUDE BOTS BEGIN - REMOVE THIS LINE IF YOU WANT TO EXCLUDE BOTS FROM THE STATS $user_agent = strtolower(getenv('HTTP_USER_AGENT')); $spider_flag = false; if (tep_not_null($user_agent)) { $spiders = file(DIR_WS_INCLUDES . 'spiders.txt'); for ($i=0, $n=sizeof($spiders); $i<$n; $i++) { if (tep_not_null($spiders[$i])) { if (is_integer(strpos($user_agent, trim($spiders[$i])))) { $spider_flag = true; break; } } } } if ($spider_flag == true) { $record_session = false; } //EXCLUDE BOTS END OF SECTION - REMOVE THIS LINE IF YOU WANT TO EXCLUDE BOTS FROM THE STATS ////////////////////////////////////////////////////////////////////// Quote
azer Posted January 13, 2006 Posted January 13, 2006 i relaesed 3.2 version based on the 3.1a version: - changed hard coded englsih by define in the language file - cosmetic changes for strong caracteres - few langauge correction - commented the support links to gain palce in the admin webpage -> the several languages need to finished to translate i hope equila release a new version with fon ip block new improvement .. Quote MS2
bombola Posted January 13, 2006 Posted January 13, 2006 Hi all! I downloaded and installed this great contrib yesterday and I get no Warnings and everything seems to work fine but this is how the admin section looks like: It holds no records as you can see. What can be the problem? This is how the database tables look like: MySQL-version 4.0.25 Quote
bombola Posted January 13, 2006 Posted January 13, 2006 GeoIP.dat was the problem... Problem now solved Quote
Mookie_Jam Posted January 13, 2006 Posted January 13, 2006 Help!!! I made the updated equila recomended.. Only uploading the file inside the class folder... But my site broke and only shows this message... :( 1054 - Unknown column 'browser_string' in 'where clause' select * from supertracker where browser_string ='Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8) Gecko/20051111 Firefox/1.5' and ip_address like '80.59%' and last_click > '2006-01-13 12:18:53' [TEP STOP] What it means?? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.