Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Spider Watcher Details »»
Spider Watcher
Version: 1.0.0 B10, by mikelbeck mikelbeck is offline
Developer Last Online: Feb 2016 Show Printable Version Email this Page

Version: 3.5.4 Rating:
Released: 01-05-2006 Last Update: 08-08-2006 Installs: 194
DB Changes Uses Plugins Template Edits
Additional Files Is in Beta Stage  
No support by the author.

Spider Watcher
Author: Mikel Beck (mikel.beck@elite-computing.net)


This hack keeps track of the spiders (Search Engine robots) that visit your fourm. Every time a guest visits a page, the guest's IP address, user agent and the page they visited are logged to the database.

When somebody views the spider statistics page, this data is "rolled up", meaning the raw data is collated, the spider's name is determined by comparing the user agent to data contained in the spiders_bulletin.xml file, and the number of pages and visits is summarized and writted back to the database. In addition, and data from non-bots is removed.

The data is then displayed in a easy to read format for your viewing pleasure.

If the user viewing the report has permissions to view IP addresses, these are displayed as well.

A live version of the report from one of my sites can be seen here: http://www.happyhourpub.com/spiders.php

Also see the attached screenshot for an exmaple.


Revision History:
1.0.0 Beta 1 - 01/05/2006
- Initial Release

1.0.0 Beta 2 - 01/06/2006
- Included templates for spiders.php
- Removed text from templates, added them as phrases

1.0.0 Beta 3 - 01/07/2006
- Split up the display of "known" and "unknown" spiders

1.0.0 Beta 4 - 01/25/2006
- Corrected potentional SQL injection issue in plug-in
- Reduced the number of SQL queries required to display statistics
- Corrected date/time display issue

1.0.0 Beta 5 - 02/01/2006
- Reduced the number of SQL queries required to display statistics

1.0.0 Beta 6 - 02/08/2006
- No release

1.0.0 Beta 7 - 02/11/2006
- Corrected issue with "unknown" spiders not being displayed properly.
- Added tracking of the type of spider (searchspider, link checker, etc)

1.0.0 Beta 8 - 02/19/2006
- Change the display of IP addresses to be a pop-up so they're all not displayed on the main page.
- Combined the spiders that have the same name but different user agents.

1.0.0 Beta 9 - 03/10/2006
- Changed the display to group similar spiders together (search spiders, http check spiders, etc)

1.0.0 Beta 10 - 08/08/2006
- Changed how the rollup functions. Instead of rolling up every time somebody views the spider page, it rolls up once per hour.
- Corrected a few bugs here and there, mostly related to removing entries from the database.

Installation Instructions
1. Upload spiders.php to the root of your forum.
2. Upload spiders_rollup.php to the includes/cron directory.
3. Import the file product-spiderwatcher.xml using the Manage Products module.
4. Add a link to spiders.php on your navbar or footer.
5. Add a cron job with the following information:
Title: Spider Watcher Rollup
Day of the Week: *
Day of the Month: *
Hour: *
Minute: 0 - - -
Log entries: Yes
Filename: ./includes/cron/spiders_rollup.php

Upgrade Instructions
1. Upload (and overwrite) spiders to the root of your forum.
2. Upload spiders_rollup.php to the includes/cron directory.
3. Import the file product-spiderwatcher.xml using the Manage Products module. Make sure the "Allow Overwrite" option is set to "Yes".
4. Add a link to spiders.php on your navbar or footer.
5. Add a cron job with the following information:
Title: Spider Watcher Rollup
Day of the Week: *
Day of the Month: *
Hour: *
Minute: 0 - - -
Log entries: Yes
Filename: ./includes/cron/spiders_rollup.php

***UPGRADE NOTE***
When you upgrade from version 1.0.0 Beta 7 to 1.0.0 Beta 8 your existing spider data will be lost!


To make sure that you can decode the maximum amount of spiders, you should grab the latest spiderlist.xml and replace the spiders_vbulletin.xml file in your forumhome/includes/xml/ directory with the one from this thread: http://www.vbulletin.com/forum/showthread.php?t=76662

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #92  
Old 01-16-2006, 11:41 PM
mikelbeck's Avatar
mikelbeck mikelbeck is offline
 
Join Date: Jul 2005
Location: 4C6F6E672049736C616E642C2
Posts: 238
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by docvader
Mikelbeck, I just installed this, and it's great. Within minutes, the Yahoo slurp spidered my site.
It's now 2023 hrs. And I installed it ten minutes ago.
Something wrong with the "hours" code, as was mentioned before. Hope this helps. Good luck with the "life issues" man, I know how that goes.

Thanks!
rich
Very odd.

Try this, see if it makes a difference...

Open up spiders.php, find this block of code:

Code:
  $formatted_time = vbdate($vbulletin->options['timeformat'], strtotime(date("g:i A", mktime ($hour, $minute, $second, $month, $day, $year))), true);
  $formatted_date = vbdate($vbulletin->options['dateformat'], strtotime(date("M j, Y", mktime ($hour, $minute, $second, $month, $day, $year))), true);
  return ($formatted_date . '<br />' . $formatted_time);
Right before it, add this:

Code:
return ($datestring);
Then view your spiders page again and see if the dates are correct. If they are, then there's an issue with that block of code that I'll have to work out. If they're NOT, then it's something to do with MySQL.

In either case, post your results here.
Reply With Quote
  #93  
Old 01-17-2006, 01:08 AM
docvader's Avatar
docvader docvader is offline
 
Join Date: Dec 2002
Posts: 520
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, that made a big difference. Now it returns a date and time of last visit, such as "2006-01-16 03:59:17 6", instead of "x hours ago"

Just for your information, today, one day after I installed this (?), it went from "20 hours ago" to "19 hours ago". As if it's confusing the days for hours.

I'll keep an eye on this and see what happens tomw.
Reply With Quote
  #94  
Old 01-17-2006, 01:10 AM
mikelbeck's Avatar
mikelbeck mikelbeck is offline
 
Join Date: Jul 2005
Location: 4C6F6E672049736C616E642C2
Posts: 238
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by docvader
Well, that made a big difference. Now it returns a date and time of last visit, such as "2006-01-16 03:59:17 6", instead of "x hours ago"

Just for your information, today, one day after I installed this (?), it went from "20 hours ago" to "19 hours ago". As if it's confusing the days for hours.

I'll keep an eye on this and see what happens tomw.
But is the "2006-01-16 03:59:17" that it's now displaying the correct time & date for your current time zone?
Reply With Quote
  #95  
Old 01-17-2006, 01:20 AM
docvader's Avatar
docvader docvader is offline
 
Join Date: Dec 2002
Posts: 520
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am assuming so. The last spider that came through was at 2006-01-16 18:58:53, which was an 21 minutes ago. I do not know the exact time it actually visited me however.

Looks like you fixed it.
Reply With Quote
  #96  
Old 01-17-2006, 02:29 AM
darksoulz darksoulz is offline
 
Join Date: Jul 2005
Location: Lochbuie, CO
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would just like to chime in with the 'me too' on the problem of it showing Yesterday when it should say Today. I dont know if it might be interfering, but we also have this hack installed.

On another note, is there any easy way to get it to not log the unknown spiders? It seems to be picking up regular users that are using non-standard user-agent strings and filling up the database to the point of making us hit php's execution time limit when trying to view the page.
Reply With Quote
  #97  
Old 01-17-2006, 03:50 AM
Zia's Avatar
Zia Zia is offline
 
Join Date: Dec 2005
Location: golpo.net
Posts: 931
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello..
here is a idea..
spider watcher now listing spider in two section
1.Search Spider
2.Unknown spider.

Els that there are Forum Spider....
like boardreader www.boardreader.com
Its been listed in unknown spider tho its listed in list.xml

any way that list will show in 3 section Seach spider,Forum Spider , Unknwon Spider..

while spider have its address in the list..so if it possble the spider's name is Klik Able ..

Thanks
Reply With Quote
  #98  
Old 01-17-2006, 12:01 PM
mikelbeck's Avatar
mikelbeck mikelbeck is offline
 
Join Date: Jul 2005
Location: 4C6F6E672049736C616E642C2
Posts: 238
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by docvader
I am assuming so. The last spider that came through was at 2006-01-16 18:58:53, which was an 21 minutes ago. I do not know the exact time it actually visited me however.

Looks like you fixed it.
No, not yet, but at least I know what's causing it...
Reply With Quote
  #99  
Old 01-18-2006, 12:16 AM
mikelbeck's Avatar
mikelbeck mikelbeck is offline
 
Join Date: Jul 2005
Location: 4C6F6E672049736C616E642C2
Posts: 238
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For those who are having the problem with the dates & times... What is your setting for "Format for Time" and "Format for Date" in the "Date and Time Options" in your admin control panel? Also, what setting do you have for "Datestamp Display Option"?

I believe if you change these lines of code in spiders.php:

Code:
  $formatted_time = vbdate($vbulletin->options['timeformat'], strtotime(date("g:i A", mktime ($hour, $minute, $second, $month, $day, $year))), true);
  $formatted_date = vbdate($vbulletin->options['dateformat'], strtotime(date("M j, Y", mktime ($hour, $minute, $second, $month, $day, $year))), true);
to be:

Code:
  $formatted_time = vbdate($vbulletin->options['timeformat'], strtotime(date("g:i A", mktime ($hour, $minute, $second, $month, $day, $year))));
  $formatted_date = vbdate($vbulletin->options['dateformat'], strtotime(date("M j, Y", mktime ($hour, $minute, $second, $month, $day, $year))));
...this problem should go away. If somebody could give that a shot and let me know I'd appreciate it.
Reply With Quote
  #100  
Old 01-18-2006, 03:18 AM
docvader's Avatar
docvader docvader is offline
 
Join Date: Dec 2002
Posts: 520
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just curious, what's the problem? Mine seems to be working correctly with that little fix from yesterday. http://www.russbo.org/vb/spiders.php?

rich
Reply With Quote
  #101  
Old 01-18-2006, 06:14 AM
Brandon Sheley's Avatar
Brandon Sheley Brandon Sheley is offline
 
Join Date: Mar 2005
Location: Google Kansas
Posts: 4,678
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

works on 3.5.2 patched to 3.5.3
[high]* Brandon Sheley clicks install
[/high]

http://locoforum.com/forums/spiders.php
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:45 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06941 seconds
  • Memory Usage 2,327KB
  • Queries Executed 28 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_code
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete