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
Multiple account login detector (AE Detector) Details »»
Multiple account login detector (AE Detector)
Version: 1.03, by MPDev MPDev is offline
Developer Last Online: Dec 2016 Show Printable Version Email this Page

Version: 3.5.4 Rating:
Released: 02-08-2006 Last Update: 04-16-2006 Installs: 886
Uses Plugins
 
No support by the author.

If you are like me and migrated from .threads, a common modification was an "AE detector", a simple mod that saved a cookie of a history of ids logged into on your site. If someone logged into more than one account, you got a PM letting you know that your site was being accessed from multiple accounts.

Over the years this was very helpful in identifying users who were posting under multiple accounts (alter-egos!) and users who would return after being banned.

You might be wondering why I don't use the vbcookie call - well, thats because on logout all vB cookies are cleared, so we need to store a cookie that is not effected by the login/logout process.

New Installation
1. Add New Product with attached XML
2. Go to vBulletin Options -> AE Multiple Login Detection Settings and set your specific settings.

Time to install: Easy - 2 minutes.

Upgrade
If you installed this as a Plug-in manually, you can delete that plugin and install this Product, just make sure to go into the Options and set them accordingly.

I hope you find this useful and will click INSTALL if you use it; should it prove useful to enough people I can look at making this installation more automated without the need for edits and an Admin Options page.

To upgrade you will want to reimport this XML file and edit your options accordingly.

1.0.3
-----
. Added a check to ensure that users weren't deleted when reporting violations
. added htmlspecialchars_uni call to username

Note: I am unable to get the call to construct_phrase with $vbphrase['multiplelogin_alert'] to work reliably, as such the $message variable is still set manually inside the plug-in and not via the phrase. If anyone has an idea of why this might not always work, I'm all ears.

1.0.2
-----
. Updated to include exclusion groups, users
. Changed so PM is sent by ae sender id

1.0.1
-----
. Released as a Product (thank you PHPGeek2k3 for your help)
. Added option to post to a forum versus send a PM (or both)
. All settings moved into Admin Option

1.0.0
-----
Initial release.

Supporters / CoAuthors

Show Your Support

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

Comments
  #372  
Old 08-24-2006, 05:57 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I figured it out... and man is this UGLY!

My problem is that I did a fresh install of vB 3.6 and I used Impex to IMPORT all of my forums, threads, and users! Well, a sizable percentage of my users userid CHANGED!

So now, these users have the old cookie from the old site on their systems PLUS the cookie for the new software. I assume that once everybody visits the updated forums that these errors will stop happening but with over 2000-members I may get these crazy errors for quite some time.

I know that the maximun shift I saw in userid was 4 so I may code the system to ignore userids that are 4 or less apart. This really hurts as this was a very handy tool!
Reply With Quote
  #373  
Old 08-25-2006, 01:24 PM
MPDev's Avatar
MPDev MPDev is offline
 
Join Date: Oct 2003
Location: Virginia
Posts: 885
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, that would do it. If they logged in under the old system and it has their userid recorded; then that would be a problem for you.
Reply With Quote
  #374  
Old 08-25-2006, 01:34 PM
Quarterbore Quarterbore is offline
 
Join Date: Mar 2005
Location: Valley Forge PA
Posts: 538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can I please request a little programing help with my issue?

I know that my members USERID behaves in a VERY predictable way when comparing the original userid to the new userid. Here is the breakdown:

If USERID is # - then I want the system to ignore...

(788 or less) (ignore Userid+1 as a duplicate)
(789 to 960) (report any duplicates)
(961 to 1550) (ignore Userid-1 as duplicates)
(1551 to 1762) (ignore Userid-2 as duplicates)
(1763 to 1843) (ignore Userid-3 as duplicates)
(1844 or higher) (report all duplicates!)

Now, I know this code is done by the "Login Checker" plugin and the code I need to add these conditional is here:

PHP Code:
if( empty($idstack) )  
                    {  
                        
$idstack ",{$vbulletin->userinfo['userid']},";  
                        
setcookie("IDstack"$idstacktime()+10368000"/");  
                    }  
                    else  
                    {  
                        if(!
strstr($idstack",{$vbulletin->userinfo['userid']},"))  
                        {  
                            
$idstack .= ",{$vbulletin->userinfo['userid']},";  
                            
setcookie("IDstack"$idstacktime()+10368000"/");  
      
                            
$Unums split(","$idstack);  
                            
$andids null;  
                            
$numvs 0;  
                              
                            for (
$i 0$i < (sizeof($Unums)); $i++)   
                            {  
                                if( 
verify_id('user'$Unums[$i], FALSE, -1, -1) )  
                                {  
                                    if (!empty(
$Unums[$i]) && is_numeric($Unums[$i])) {          
                                        
$checkuser $vbulletin->db->query_first("SELECT username FROM " TABLE_PREFIX "user WHERE userid={$Unums[$i]}");  
                                        if ( !empty(
$andids) ) $andids .= "and";  
                                        
$andids .= " [url="$vbulletin->options['bburl'] ."/member.php?u=" $Unums[$i] . "] "$checkuser['username'] ."[/url] ";  
                                        
$numvs++;  
                                    }  
                                }  
                            }  
                              
                            
// Make sure we have at least 2 valid user violations  
                            
if ( $numvs ) return;  
                              
                            
$allowsmilie '1';  
                            
$visible '1'
Now, would the best way for me to fix my self induced problem be to write a series of conditional like this:

PHP Code:
// Adjust for IMPORT ID issue
$loggedinuser $vbulletin->userinfo['userid'];
if (!empty(
$Unums[$i]) && is_numeric($Unums[$i])) { 
     If (
$loggedinuser <= 188 AND $loggedinuser == Unums[$i] + 1){$numvs--;}
     If (
$loggedinuser >= 961  AND $loggedinuser <= 1550 AND $loggedinuser == Unums[$i] - 1){$numvs--;}
     If (
$loggedinuser >= 1551  AND $loggedinuser <= 1762 AND $loggedinuser == Unums[$i] - 2){$numvs--;}
     If (
$loggedinuser >= 1763  AND $loggedinuser <= 1843 AND $loggedinuser == Unums[$i] - 3){$numvs--;}

I assume that I have the variables figured out but this will be really hard fro me to test on my live site to figure out if it is eliminiatig the correct accounts! I addedd this right above the "// Make sure we have at least 2 valid user violations "

EDIT - FWIW, there is a bug in that code as I just tried it... It have me a syntax error as well as a headers resent error and I had to disable pluggins to remove the pluggin from my system. I still think the basic concept may work but this is not the right place or way to do it!!!

I'll update if I figure this out but from my count this impacts about 1700 members on my site so dealing with that many alerts is a huge problem!
Reply With Quote
  #375  
Old 08-27-2006, 06:29 AM
markblair markblair is offline
 
Join Date: Jan 2004
Location: Michigan
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by NeitherSparky
All right - I have installed this in 3.6.0 and it is working. For some reason though, while it is successfully sending a post to my Staff forum it is NOT sending me a PM even though I have specified Send PM on Multiple Login Detection=Yes (can it not do both?). Otherwise it is fine.

edit: Figured out what I did wrong, it should be fine now.
What was causing this issue? I am having the same problem. I'm getting the new thread but no PM is being sent. And both options are turned on.
Reply With Quote
  #376  
Old 08-27-2006, 08:28 AM
Nick0r Nick0r is offline
 
Join Date: Nov 2003
Posts: 105
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For me it's not creating a thread, no matter what - never worked in 3.5 either for some reason.
Reply With Quote
  #377  
Old 08-27-2006, 03:17 PM
NeitherSparky's Avatar
NeitherSparky NeitherSparky is offline
 
Join Date: Aug 2006
Location: Sacramento, CA
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by markblair
What was causing this issue? I am having the same problem. I'm getting the new thread but no PM is being sent. And both options are turned on.
I took a screencap of my settings, not only to answer your question but hopefully to help people having trouble getting the thing to create a thread too.

The reason the PMs weren't working was simple enough - the default setting for the "Users who recieve the PM upon multiple login detection" is "Administrator" and my username on my forum isn't "Administrator", its Sparky! So I just changed that.

As for the thread creation, you have to mark "Enable New Thread Creation on Multiple Login Detection?" - Yes, and then put in the correct "ForumID For AE Multiple Login Detection reports", AND set the "Userid of who PM sender / Alert poster" to someone who has permission to post in that forum - 1 being of course myself (the target forum is a Staff forum). For the users to ignore, I have myself and my test account, which is number 2.

I hope this helps *somebody*. :P
Reply With Quote
  #378  
Old 08-28-2006, 08:03 PM
MPDev's Avatar
MPDev MPDev is offline
 
Join Date: Oct 2003
Location: Virginia
Posts: 885
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Since we have alot of people (including myself) who have it working on 3.5 and 3.6, if you cannot get it to work you probably did one of the following: installed it incorrectly, have the setting set wrong or have something installed that is interfering with our app (although we have no known plugins that do this).
Reply With Quote
  #379  
Old 08-28-2006, 10:34 PM
voteforbird's Avatar
voteforbird voteforbird is offline
 
Join Date: Jul 2006
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Will this work with 3.6.0? Thanks.
Reply With Quote
  #380  
Old 08-29-2006, 05:40 PM
Mattikana Mattikana is offline
 
Join Date: Jan 2005
Location: Flanders
Posts: 131
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by voteforbird
Will this work with 3.6.0? Thanks.
It works for me on 3.6 Gold, I have the PM report enabled and the thread rpeort disabled.
Reply With Quote
  #381  
Old 08-29-2006, 09:13 PM
cyclical cyclical is offline
 
Join Date: Jun 2003
Posts: 42
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am still getting false positives...
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 02:31 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.05210 seconds
  • Memory Usage 2,355KB
  • Queries Executed 26 (?)
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
  • (2)bbcode_php
  • (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
  • (2)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_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