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

Reply
 
Thread Tools
Multiple Account Detection & Prevention Details »»
Multiple Account Detection & Prevention
Version: 1.1.3, by Kiros72 Kiros72 is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Administrative and Maintenance Tools - Version: 3.7.x Rating:
Released: 12-16-2008 Last Update: 03-31-2009 Installs: 1039
Uses Plugins
Additional Files Translations  
No support by the author.

It happens all of the time. Some members will make multiple accounts to back their own opinion or get an extra vote in a poll. Here's a modification that will detect and prevent multiple accounts, as well as notify the administration about multiple accounts. Inspiration for this modification came from the work of MPDev (creator of the Multiple Account Login Detector) and randominity (creator of the Multiple Account Registration Prevention). This is basically a combination of those two modifications but with new and improved functionality.

This is not an update to the "Multiple Account Login Detector (AE Detector)" nor is it an update to the "Multiple Account Registration Prevention." If you have either one of these (or both of them) installed, you should uninstall them before installing this modification.

With the initial release of Multiple Account Detection & Prevention, I believe that I have fixed previous bugs/complications as well as improved the efficiency and logic of the code. This is my first publicly released modification. I would appreciate any comments and suggestions!

Confirmed! This works perfectly on all vBulletin 3.6, 3.7, and 3.8 versions.

Unfortunately, I cannot give support right now. I may be able to help periodically, but until my schedule yields some more free time, I won't be much support. Please check back in a week or two.

Basic Details
File Edits: None
Template Edits: None
New Files: 6
Hooks/Plugins: 3
Global Phrases: 36
Install Time: 2 Minutes or Less
Install Difficulty: None, Very Easy

Features and Settings
- Login Detection
- Registration Prevention (Multiple Methods)
- Ignore Child Accounts
- Ignored Users
- Ignored Usergroups
- Ignored ISPs
- Prevention Usergroup
- IP Address Based Prevention
- Extended IP Address Prevention
- IP Address Time Inclusion
- Banned Account Check
- Primary Banned Usergroup
- Cookie Expiration Time
- Cookie Refreshing
- Cookie Name
- Cookie Reset
- Multiple Account Reporter
- Reports via PM
- PM Report Recipients
- Reports via New Thread
- Forum for Report Threads
- Verbose Mode
- BB Codes: LIST, URL, CODE

How it Works
With every newly recognized login/registration, an account-counting cookie is set (or added onto) with the member's User ID. Depending on the settings, Multiple Account Detection & Prevention will analyze the cookie during login/registration to see if there are any multiple accounts.

Login Detection offers cookie-checking and reporting. Registration Prevention offers the same thing, plus more advanced features. First of all, when it prevents an account from registering, it actually moves the registrant to the Prevention Usergroup so that the administration can review the case. This also allows for customized privileges for recognized multiple registrants. Registration Prevention also has IP address detection which finds out just as much information about users. Depending on an administrator's preference, this modification can also reban a new registrant if one of their previous accounts has been banned. In fact, if the administration wishes, multiple registrants can simply be denied registration all together.

Whenever there is a detection/prevention, the modification will report the information to the administration through private messages, a new thread, or both (depending on settings). The Multiple Account Reporter can be any valid user.

Known Issues
- vB Optimise users: Reporting via thread seems to get messed up by vB Optimise, so try reporting via PM instead.
- PhotoPost vBGallery users: The registration handling appears to not work properly when PhotoPost vBGallery is enabled.

From what I can tell, these known clashes have been caused by the other modification's coding. The author of vB Optimise will not even work with me to fix it. Until they improve their coding, I'm not sure if I can do anything about these issues. As far as I know, administrators that do not use the above modifications will not have any problems.

Installation / Upgrade
Unzip the package (madp.zip), upload the files to your forum location, and import the product file (allow overwrite if upgrading). Please read the ReadMe.txt file that is packaged with the modification for more information.

Please remember to mark this modification as installed if you use it!
If you like it, nominate it for the Mod of the Month!

Thank you!

Download Now

File Type: zip madp.zip (22.3 KB, 4977 views)

Screenshots

File Type: png admincprep.png (62.6 KB, 0 views)
File Type: png admincpop1.png (65.8 KB, 0 views)
File Type: png admincpop2.png (50.6 KB, 0 views)
File Type: png threadregverbose.png (40.3 KB, 0 views)
File Type: png threadloginverbose.png (34.7 KB, 0 views)
File Type: png threadregip_disallow.png (83.3 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
3 благодарности(ей) от:
aeturner89, Filgga, ricardoNJ

Comments
  #392  
Old 07-13-2009, 06:20 AM
trotskid trotskid is offline
 
Join Date: Feb 2009
Posts: 204
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi. I also use vBOptimise but doesn?t work correctly the reports with function move to usergoup (thread nor PM)

I use v3.8.3
Reply With Quote
  #393  
Old 07-13-2009, 09:15 AM
Kiros72 Kiros72 is offline
 
Join Date: Apr 2006
Location: Albany, LA - USA
Posts: 215
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mimirswell View Post
Have you considered enhancing the IP check by having some basic proxy detection? The Proxy IP to Real IP conversion being a base example of how you might integrate it (ie detecting the http variables and passing the real IP to be checked).
I believe this has already been suggested. I have not gotten to it yet, but it is on my list of additions.

Quote:
Originally Posted by Alfa1 View Post
I already have proxy to IP. Am I correct that MADP and Proxy to Real IP work together?
Sadly, I do not think that this works as intended. Unless the Proxy to Real IP modification sets the global IP address variable... I'll work to either make the two modifications compatible or to add a comparable internal functionality to my modification.

Quote:
Originally Posted by trotskid View Post
Hi. I also use vBOptimise but doesn?t work correctly the reports with function move to usergoup (thread nor PM)

I use v3.8.3
The author of vBOptimise never responded to my inquiries. So it looks like he/she doesn't want to cooperate with me to find a solution. I apologize for this inconvenience, but you may have to chose between a slightly optimized vBulletin or the functionality of Multiple Account Detection & Prevention.
Reply With Quote
  #394  
Old 07-13-2009, 09:49 AM
trotskid trotskid is offline
 
Join Date: Feb 2009
Posts: 204
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Kiros72 View Post
The author of vBOptimise never responded to my inquiries. So it looks like he/she doesn't want to cooperate with me to find a solution. I apologize for this inconvenience, but you may have to chose between a slightly optimized vBulletin or the functionality of Multiple Account Detection & Prevention.
I understand, thanks anyway :up:. I will use the function Disallow Multiple Registrants with no report.

Regards
Reply With Quote
  #395  
Old 07-14-2009, 12:54 AM
Mimirswell Mimirswell is offline
 
Join Date: Mar 2006
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Kiros72 View Post
I believe this has already been suggested. I have not gotten to it yet, but it is on my list of additions.
Great because while this hack is very well done, if it can be easily bypassed by proxies and a cookie clear, it's not robust enough.
Reply With Quote
  #396  
Old 07-14-2009, 10:53 AM
Tree Guardian Tree Guardian is offline
 
Join Date: Oct 2008
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

3.8.3 works beautiful - Thank You
Reply With Quote
  #397  
Old 07-15-2009, 05:44 PM
DeanLag DeanLag is offline
 
Join Date: Jul 2009
Posts: 185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Invalid SQL:

SELECT
post.*, post.username AS postusername, post.ipaddress AS ip, IF(post.visible = 2, 1, 0) AS isdeleted,
user.*, userfield.*, usertextfield.*,
icon.title as icontitle, icon.iconpath,
avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight,

editlog.userid AS edit_userid, editlog.username AS edit_username, editlog.dateline AS edit_dateline,
editlog.reason AS edit_reason, editlog.hashistory,
postparsed.pagetext_html, postparsed.hasimages,
sigparsed.signatureparsed, sigparsed.hasimages AS sighasimages,
sigpic.userid AS sigpic, sigpic.dateline AS sigpicdateline, sigpic.width AS sigpicwidth, sigpic.height AS sigpicheight,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid


FROM post AS post
LEFT JOIN user AS user ON(user.userid = post.userid)
LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
LEFT JOIN icon AS icon ON(icon.iconid = post.iconid)
LEFT JOIN avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN customavatar AS customavatar ON(customavatar.userid = user.userid)

LEFT JOIN editlog AS editlog ON(editlog.postid = post.postid)
LEFT JOIN postparsed AS postparsed ON(postparsed.postid = post.postid AND postparsed.styleid = 12 AND postparsed.languageid = 1)
LEFT JOIN sigparsed AS sigparsed ON(sigparsed.userid = user.userid AND sigparsed.styleid = 12 AND sigparsed.languageid = 1)
LEFT JOIN sigpic AS sigpic ON(sigpic.userid = post.userid)

WHERE post.threadid = AND post.dateline > 1247663474 AND (post.visible = 1 OR post.postid = 47468)

ORDER BY dateline;

MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND post.dateline > 1247663474 AND (post.visible = 1 OR post.postid = 47468)
' at line 27
Error Number : 1064
Why? I got this msg 5 times.

Edit: Just got it 40 times overnight. Is it when someone logs onto the forums? =o
Reply With Quote
  #398  
Old 07-15-2009, 06:49 PM
pigsy pigsy is offline
 
Join Date: Nov 2001
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Would you consider supporting LSO cookies.

If you set an LSO cookie (they are set by flash) then a normal cache clear wont get rid of it, and they are persistent across sites.

Shouldn't have too much trouble playing off a small flash pixel in one corner which sets the cookie.

http://en.wikipedia.org/wiki/Local_Shared_Object
Reply With Quote
  #399  
Old 07-18-2009, 01:34 AM
Chrisg20 Chrisg20 is offline
 
Join Date: Apr 2009
Posts: 68
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thank you, installed
Reply With Quote
  #400  
Old 07-19-2009, 05:00 AM
Kiros72 Kiros72 is offline
 
Join Date: Apr 2006
Location: Albany, LA - USA
Posts: 215
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DeanLag View Post
Why? I got this msg 5 times.

Edit: Just got it 40 times overnight. Is it when someone logs onto the forums? =o
Sorry, but I don't think that my modification is related to those errors. I see where the syntax is messed up, but without knowing where that query is coming from (the file, that is) then I'm not going to be able to help you out. =/

Quote:
Originally Posted by pigsy View Post
Would you consider supporting LSO cookies.

If you set an LSO cookie (they are set by flash) then a normal cache clear wont get rid of it, and they are persistent across sites.

Shouldn't have too much trouble playing off a small flash pixel in one corner which sets the cookie.

http://en.wikipedia.org/wiki/Local_Shared_Object
Well, I'm not flash coder, and from the looks of it, that would require more code and files and it would just make things more complicated. So for now and probably for years to come, I'm not going to be messing with LSO cookies. Sorry =[
Reply With Quote
  #401  
Old 07-19-2009, 07:01 AM
ItsikN ItsikN is offline
 
Join Date: Jun 2009
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

I turned off the registration preventation option since at the moment I want the app only to to detect and report duplicates without preventation.

However, the app reported today the following "The new account has been moved to the Prevention Usergroup" and moved it into the "COPPA users awaiting..."

I'm using VB 3.8.3.

Any advice?

Thanks.
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:40 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.06344 seconds
  • Memory Usage 2,364KB
  • 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
  • (8)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
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (3)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (7)postbit_attachment
  • (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
  • 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