vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Trace and log user actions... (https://vborg.vbsupport.ru/showthread.php?t=52300)

Zzed 04-27-2003 10:00 PM

Trace and log user actions...
 
This hack was requested by ossi69 and John Mac.

This is a pretty simple hack that allows you to track and document a user's
actions while they are logged into your board. Every click made by the user
makes a brand new entry in a log file. The log file entries include, username,
IP address, date and time, and the URL clicked on. The user actions are
documented even before the user has a chance to see the page he clicked on.

Templates affected by this hack: none
Tables affected by this hack: user
Files affected by this hack: global.php, admin/user.php

Execute the following query to create a new field in the user table:

alter table user add trace smallint(5) unsigned DEFAULT 0 NOT NULL;

You also need to create a brand new directory in your forums directory by
the name of tracelog. You need to make sure that your give the appropriate\
read/write permissions to this directory so that the http server on your
host can create files in there.

Here is a sample output:
Code:

Zed, 192.168.1.101 , 2003-04-28 18:31:30, /forums/index.php
Zed, 192.168.1.101 , 2003-04-28 18:31:36, /forums/forumdisplay.php?forumid=9
Zed, 192.168.1.101 , 2003-04-28 18:31:42, /forums/showthread.php?threadid=143901
Zed, 192.168.1.101 , 2003-04-28 18:31:51, /forums/rules.php
Zed, 192.168.1.101 , 2003-04-28 18:31:53, /forums/forumdisplay.php?forumid=9
Zed, 192.168.1.101 , 2003-04-28 18:32:07, /forums/showthread.php?threadid=143901
Zed, 192.168.1.101 , 2003-04-28 18:32:11, /forums/index.php
Zed, 192.168.1.101 , 2003-04-28 18:32:15, /forums/forumdisplay.php?forumid=103
Zed, 192.168.1.101 , 2003-04-28 18:32:28, /forums/showthread.php?threadid=225576
Zed, 192.168.1.101 , 2003-04-28 18:32:38, /forums/member.php?action=getinfo&userid=4112

Note:Go to this post to download the directory protection file for this hack.

Boofo 04-28-2003 10:04 PM

Is this supposed to be unsigned?

alter table user add trace smallint(5) unsigned DEFAULT 0 NOT NULL;

Will this also add a line under each user's session so you can tell where one leaves off and one starts?

Zzed 04-28-2003 10:19 PM

Unsigned is fine. The possible values for that field are 0 and 1.

Start times are when the user signs on for the first time. And the leaving time should be between the time of the last entry and the time for the cookie timeouts on your board. ;)

Boofo 04-28-2003 10:23 PM

I see, thanks! ;)

Wouldn't it be better to have a line separate each users session though in case the log gets kind of long? Like this:

Zed, 192.168.1.101 , 2003-04-28 18:31:30, /forums/index.php
Zed, 192.168.1.101 , 2003-04-28 18:31:36, /forums/forumdisplay.php?forumid=9
Zed, 192.168.1.101 , 2003-04-28 18:31:42, /forums/showthread.php?threadid=143901
Zed, 192.168.1.101 , 2003-04-28 18:31:51, /forums/rules.php
Zed, 192.168.1.101 , 2003-04-28 18:31:53, /forums/forumdisplay.php?forumid=9
-------------------------------------------------------------------------
Boofo, 192.168.1.101 , 2003-04-28 18:32:07, /forums/showthread.php?threadid=143901
Boofo, 192.168.1.101 , 2003-04-28 18:32:11, /forums/index.php
Boofo, 192.168.1.101 , 2003-04-28 18:32:15, /forums/forumdisplay.php?forumid=103
-------------------------------------------------------------------------
Test, 192.168.1.101 , 2003-04-28 18:32:28, /forums/showthread.php?threadid=225576
Test, 192.168.1.101 , 2003-04-28 18:32:38, /forums/member.php?action=getinfo&userid=4112

Something like that? And will there be a way to prune the log?

Zzed 04-28-2003 10:28 PM

This hack is activated by user participation on the board. TO do this you would have to take the last activity time by the user and compare it against the current time and if it is greater than your $cookietimeout then you would output a line separator.

As for the pruning, I figured the file entries can just be deleted. or edited manually. They really don't take up that much space to cause real concern. ;)

Boofo 04-28-2003 10:38 PM

Wouldn't comparing the username do the job, too?

Zzed 04-28-2003 10:41 PM

Quote:

Today at 04:38 PM Boofo said this in Post #6
Wouldn't comparing the username do the job, too?

Nope, it is per user. Each user gets his/her own file in the tracelog directory, i.e., username Zzed will have his entries be written to Zzed.log, and username Boofo will have his entries written to Boofo.log. ;)

Boofo 04-28-2003 11:01 PM

I just got it installed and saw that. Sorry. ;)

It looks great! Can it be done by the time line like you mentioned before? Would make it easier on a big log. ;)

Also, is there a way to have it be read form the Admin CP instead of having to go FTP to read it?

Zzed 04-28-2003 11:04 PM

I'll look into the line separator thing. ;)

You can view the file through your browser by going to http://myforum.com/forums/tracelog/Zzed.log

Or you can get a directlry listing by going to: http://myforum.com/forums/tracelog

Boofo 04-28-2003 11:09 PM

Thanks, my friend. Great hack. I like it. ;)

How can I add the link in the user's admin cp profile so you can just click it and read it?


All times are GMT. The time now is 11:07 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01026 seconds
  • Memory Usage 1,740KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete