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

Reply
 
Thread Tools
Login log - Log successful login attempts Details »»
Login log - Log successful login attempts
Version: 4.1, by Dave Dave is offline
Developer Last Online: Aug 2021 Show Printable Version Email this Page

Category: Administrative and Maintenance Tools - Version: 4.x.x Rating:
Released: 05-27-2014 Last Update: 01-15-2016 Installs: 39
DB Changes Uses Plugins
Re-useable Code  
No support by the author.

Hi,

This plugin will allow you to log all successful login attempts of all users.
This can be useful to see if users share their account or if the account of someone got hijacked. Usernames and IP addresses can be clicked.

It will log the following
- Userid
- Username
- IP
- ISP (Internet Service Provider)
- Country
- HTTP user agent

Settings:
- Enable/disable the product.
- Exclude usergroups from being logged.
- Purge the logs.

Picture


Installation
1. Download the .zip file specified.
2. Upload the contents of the upload folder to the root of your forum.
3. Import the product with the .xml file in the import folder.

Note
The script will log using the current time on the server, in case there's a difference between the server time and your local computer time, you can change the offset in the loginlog.php script on line 12.

Also keep in mind that the country and/or ISP resolving might not be 100% accurate and that it might show no value in the logs.

Credits
Telize.com its API is being used to get the ISP and country off the IP address.

Let me know if it works well.


Changelog
11 June 2014 V4: Added the table_prefix global to the login hook.
5 June 2014 V3: Fixed searching only showing the last 25 entries. Pagination will now work as intended.
30 May 2014 V2: Changed hook location, added enable/disable setting and a setting to exclude usergroups.
28 May 2014 V1: Fixed a little mistake with the filter.

Download Now

File Type: zip product-loginlog.zip (4.1 KB, 133 views)

Screenshots

File Type: jpg Untitled.jpg (87.5 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
7 благодарности(ей) от:
elsa23, josner, madness85, minhmeo.info, puertoblack2003, tbworld, winky8300

Comments
  #52  
Old 01-17-2016, 03:10 PM
Dave Dave is offline
 
Join Date: May 2010
Posts: 2,583
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Could you paste the whole code? You probably made a typo somewhere.
Reply With Quote
  #53  
Old 01-17-2016, 03:12 PM
tareqbd tareqbd is offline
 
Join Date: May 2011
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Dave View Post
Could you paste the whole code? You probably made a typo somewhere.
Code:
if($vbulletin->options['loginlog_enable'] && !is_member_of($vbulletin->userinfo, explode(',', $vbulletin->options['loginlog_exclgroups']))){
	$json = json_decode(file_get_contents("http://ip-api.com/json/" . $_SERVER['HTTP_CF_CONNECTING_IP']));
	$vbulletin->db->query_write("INSERT INTO " . TABLE_PREFIX . "loginlog (userid, username, loginstamp, browser, ip, isp, country) VALUES (" . $vbulletin->userinfo['userid'] . ", '" . $vbulletin->db->escape_string($vbulletin->userinfo['username']) . "', NOW(), '" . $vbulletin->db->escape_string($_SERVER['HTTP_USER_AGENT']) . "', '" . $vbulletin->db->escape_string($_SERVER['HTTP_CF_CONNECTING_IP']) . "', '" . $vbulletin->db->escape_string($json->isp) . "', '" . $vbulletin->db->escape_string($json->country) . "')");
}
Reply With Quote
  #54  
Old 01-17-2016, 03:41 PM
Dave Dave is offline
 
Join Date: May 2010
Posts: 2,583
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That looks fine and works on my local test forum.
The error happens because the MySQL connection resource isn't set, which is really odd.
Reply With Quote
  #55  
Old 01-17-2016, 04:03 PM
tareqbd tareqbd is offline
 
Join Date: May 2011
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So, what to do now. I actually wanted to remove the logs taken with cf ips.
Reply With Quote
  #56  
Old 10-26-2016, 09:16 PM
Iari Iari is offline
 
Join Date: Feb 2011
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Perfect! Exactly what I needed.
Thank you so much.
Reply With Quote
  #57  
Old 01-14-2017, 12:14 PM
Coder2016 Coder2016 is offline
 
Join Date: Dec 2016
Location: Philippines
Posts: 51
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have the same error. Fix ?

Database error in vBulletin 4.2.2:

Invalid SQL:
;

MySQL Error :
Error Number : 0
Request Date : Sunday, January 14th 2017 @ 02:20:47 PM
Error Date : Sunday, January 14th 2017 @ 02:20:47 PM
Script : http://www.domain.com/admincp/loginlog.php?do=purgenow
Referrer : http://www.domain.com/admincp/loginlog.php?do=purge
IP Address : xxx.xxx.xx.xx
Username : pps
Classname : vB_Database
MySQL Version :
Reply With Quote
  #58  
Old 07-28-2017, 02:07 AM
Alice Alice is offline
 
Join Date: Mar 2013
Location: Great Lakes Area
Posts: 81
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm having the same issue, anyone with a fix?
Reply With Quote
  #59  
Old 12-15-2019, 01:44 PM
edgeless edgeless is offline
 
Join Date: Mar 2013
Posts: 115
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Same error for me (upon purge attempts):

Quote:
Database error in vBulletin 4.2.2:

Invalid SQL:
;

MySQL Error :
Error Number : 0
Request Date : Sunday, December 15th 2019 @ 03:28:12 PM
Error Date : Sunday, December 15th 2019 @ 03:28:12 PM
Script : http://www.domain.com/dirname/adminc...hp?do=purgenow
Referrer : https://www.domain.com/dirname/admin...g.php?do=purge
IP Address : xxx.xxx.xxx.xxx
Username : username
Classname : vB_Database_MySQLi
MySQL Version :
Has anyone discovered a solution yet?
Reply With Quote
  #60  
Old 12-15-2019, 09:12 PM
edgeless edgeless is offline
 
Join Date: Mar 2013
Posts: 115
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I believe I've fixed this. Here is what I did...

I changed (line 41) of the purgenow script:

Code:
$db->execute_query("TRUNCATE TABLE " . TABLE_PREFIX . "loginlog");

to this:

Code:
$db->query(' TRUNCATE TABLE ' . TABLE_PREFIX . 'loginlog');

Basically all you should need to do is change execute_query to query and add a space before and after TRUNCATE TABLE, after which the purges should start working correctly. In any case, this fix seems to work perfectly here. Now every time I execute a purge, the message "The login log has been purged" is properly displayed and all login entries are gone.
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:33 PM.


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.04717 seconds
  • Memory Usage 2,326KB
  • Queries Executed 25 (?)
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
  • (3)bbcode_code
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (7)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (2)postbit_attachment
  • (10)postbit_onlinestatus
  • (10)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_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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete