Jump to content

Duplicate Members Logger


Recommended Posts


File Name: Duplicate Members Logger

File Submitter: PrinceOfAbyss

File Submitted: 29 Nov 2012

File Category: Moderation Tools

Duplicate Members Logger v3.0.4

Duplicate Members Logger logs, using a Flash cookie, and reports members who use multiple accounts on the same computer to access your IP.Board community.

The use of a Flash cookie makes the application a cross-browser solution to deal with "ghost" members, as it detects and reports them even if they use one browser for each registered account.

In version 3.0.4, loading of the Flash movie, that writes the cookie, is performed through AJAX to eliminate any possible delays in page load. On every page refresh normal community content loads, while the Flash movie does its job asynchronously.

In version 3.0.3, some frequently asked features have been added to complement the existing ones improving the application even more, and making it an even more robust and effective solution to deal with such situations.

New account registration control: The detection of a duplicate account now begins at its registration. Through the appropriate setting, you can choose among allowing a duplicate account registration, allowing it but immediately banning it, or completely prohibiting its creation.

ACP feature Log-in as member: With IP.Board 3.2 a new feature was introduced as a tool to help admins assist members of their community. This was the Log-in as member feature, which as a side-effect confused the application that reported the admin as a duplicate of the members the admin logged in as. This was of course not a bug of the application. It was a situation it was not programmed to deal with. The new version however can detect and ignore the use of this feature very efficiently.

PM notifications: You can now, with a click of a button, send a PM to all members of each duplicate group notifying them that you know about their actions and asking them for an explanation. Actually, the content of the PM is even configurable through the appropriate setting. Additionally, two different modes are available to choose between when sending a new PM. You can either set them as System (the sender will have no record of the notification being sent, as if it was system-generated, and the recipient will not be able to reply to it.), or you can choose Normal mode. In version 3.0.3 this feature is even automated through the appropriate setting in ACP to save you from having to do it manually.

Topic postifications: Additionally, you can now, with a click of a button, post a new topic in a selectable through the appropriate setting forum about all members of each duplicate group notifying them that you know about their actions, and also warning the rest of the members that they should be alert in case they get scammed by those duplicate members. Similar to the above, in version 3.0.3 this feature is also automated should you set the appropriate setting in ACP.

Member comments: A very useful feature was added that allows you to store comments for each member found either in Duplicates Management or in Exclusions Management sections making it easier for you to remember i.e. the reason a member was excluded from producing duplicate reports, etc.

Integration in Edit Member page: The application embeds perfectly within the Editing member page in ACP. A new tab, labeled Duplicate Members Logger, is added where you can set/unset a member as Excluded to control whether they will further produce duplicate reports or not. Additionally, you can view/edit the machine IDs of the machines each member has used to access your community. And finally, you can edit/delete the comments left for each member.

Integration in Moderator CP: The application also embeds in Moderator CP to show registration attempts that came from computers that were previously used by other accounts to access your community. This module splits the attempts in two categories: Registration attempts that resulted in a banned account and registration attempts that were completely rejected (based on the setting mentioned above). Additionally, through the appropriate setting you can choose who can view this section of Modedator CP. You can choose between Administrators only, or Administrators and Moderators. Finally, an alert similar to the community's stock Report center alert is triggered whenever such a new attempt is detected.

Public side alerts: Up to version 3.0.2 you were notified through a public side alert whenever a new fraud registration attempt was detected. This has been working extremely well for new members, but you still had to periodically check the admin side of the application to see if any two or more existing members have logged in from the same computer. To deal with this, a new type of alert has been introduced in version 3.0.3. This alert is triggered whenever an existing member uses the machine of another existing member to access your community. The alert itself is even a hyperlink to the appropriate section (Duplicates Management) in the admin side of the application. The hyperlink, however, respects the setting Remove the ACP link from the community in Security and Privacy. In other words, if you have set your community to remove the ACP link from the public side, the alert is not a hyperlink anymore but rather a simple piece of text. Finally, the alert itself goes off when you visit the Duplicates Management section.

Application Overview: This section displays an overview of statistics, as well as the application's status. The statistics have been improved and include: Unique Machines With One Member/With Multiple Members and also Unique Members From One Machine/From Multiple Machines. These, while seemingly unimportant, can let you understand the habits of your members. In two words, they display the number of unique machines and members that have accessed your community. Additionally, they are now visually represented with the appropriate charts. Typically, these stats do not include Excluded members, but should you need to count them as well, you can do that by clicking the appropriate button.

Duplicates Management: Maybe the greatest improvement of the application is the way it deals with duplicate accounts. Through a complex but lightweight algorithm, it groups all accounts that used the same computer to access your community, and presents them in a list. Scenario: Member A logs in the community from Machine A. Member B logs in the community from Machine B. Member C, who normally logs in the community from Machine C, logs in once from Machine A and once from Machine B. This will result in showing Member A, Member B and Member C as a Duplicate Group, with Member C being the link between Member A and Member B. For any such duplicate group, a number of options is available. You can either Exclude, Ban/Unban, or Delete any single member, and there are also mass options, like Notify All (through a PM) the whole group, Ban All/Unban All, or Delete All by clicking the appropriate button. Finally, there may be cases where a member incidentally has to log into the community from a computer that is normally used by another member (i.e., they are friends, etc). Those will be reported as duplicates in the application. However, you may not completely trust them to mark any/both as excluded. In such cases, you can now remove the machine ID from the system that links the members together, thus removing the duplicate itself. The machine ID of course will be reinserted in the system the next time it is used by any of the members to access the community but it will now correspond to just one of them. You can find which machine was used by each member through hovering with your mouse over each machine ID.

Exclusions Management: This section has also undergone improvements. Actually, the way exclusions work has completely changed. You do not exclude pairs of members anymore. You exclude single members, and those members will never again trigger a duplicate report, no matter how many accounts they create. Thus, it is advised to use this feature carefully and only exclude trusted members.

Settings: Here you can set the settings of the application to tailor it to the needs of your community.

Installation Process: The installation of the applications is pretty straight-forward and similar to the installation of any other application for IP.Board. You simply go to ACP > System > Applications & Modules > Manage Applications & Modules. There, you click on the prompt button on the narrow right column to install the application.

Changelog in:

  • Version 3.0.4
    • Loading of the Flash movie is performed asynchronously via AJAX
    • Fixed a well hidden bug for a very rare scenario where if one, with no duplicates, was manually whitelisted before and then tried to create a new account, the system would throw a Warning message for them on the Registration page
    • Added an automatic notification of members feature
    • Added an automatic postification of members feature
    • Added a public side alert for duplicate access attempts
    • Added a Delete All button for Fraud Registrations logs
    • Re-organized Duplicates Management and Exclusions Management sections layout to optimize them for lower resolution screens (ie. 1366px x 768px)
    • Fixed a bug in Topic Postification where if an admin was one of the postified members, their IP address was revealed if you had set IP addresses to be shown in the topic
    • Added several settings to suit the app's behavior exactly to the admin's needs
    • Fixed a bug regarding the rotation of the usernames while sending a PM notification *
    • Fixed a bug regarding the Flash object POSTing its data to a relative URL instead of to an absolute one
    • Changed the behavior of Duplicates Management and Exclusions Management sections to return the admin to the page they were before performing each action
    • Added the ability to post a new topic in a selectable forum about each duplicate group detected
    • Added the ability to write down comments regarding each member of a duplicate group and/or each excluded member
    • AJAXified the actions of saving a comment for a member, mass notifying members of a duplicate group, and postifying a new topic about them
    • Fixed a bug in ModeratorCP when an admin/moderator tried to delete an already deleted registration attempt
    • Improved the algorithm that calculates duplicate groups
    • Fixed a bug where member links in Manage Duplicates & Manage Exclusions threw a [#404] incorrect_furl error
    • Fixed the template hook that loads the .swf object in the public side of the community
    • Added the option in app Overview to delete all machines stored for all members
    • Added an icon in app Overview that makes it obvious when duplicate groups are found

[*]Version 3.0.3 [*]Version 3.0.2 [*]Version 3.0.1
Attention: This application installs a Flash cookie on your members' computers. It will not catch duplicates coming from environments where Adobe Flash is unavailable.

Attention: v3.0.0+ of the application will not be able to use already stored duplicates from v2.0.0 as they work totally differently.

Attention: Be sure to download the appropriate version of the application according to your IP.Board version.

here to download this file

Link to comment
Share on other sites

  • Replies 234
  • Created
  • Last Reply

I get instances of this error in my error log

[03-Dec-2012 16:04:11] PHP Fatal error: Cannot break/continue 1 level in /home/user5387/public_html/site/admin/applications_addon/other/duplicates/modules_public/process/process.php on line 108

Link to comment
Share on other sites

OMG... How stupid can I be sometimes!!!!

I used to have the code in that file in a switch case structure...

Then, in 3.0.2 I "broke" the code in methods, and called the appropriate method for each case. But in the methods, I forgot to replace break; with return; to properly exit the methods.

So, this error you mention happens because you used the log-in as member feature, so the duplicate logging had to stop processing...

Anyway, you reported this right on time as later today 3.0.3 will be released. I'll quickly update the file before uploading!

Thanks a lot. :smile:

Link to comment
Share on other sites

I have one member with over 100 machines listed? All end with 11f2-9b5c-846d2b068d4b11e2-9b7c-842b2b068d4e but all have a different number at the begining.

Any idea what would cause that?

I also see many members with no machine ID. Is it possible to use regualr cookies and flash at the same time?

Or give us the option to use flash, regular cookies or use both (if they exist)?

Link to comment
Share on other sites

Oops, I read simonb's reply from the email notification I received on my cell phone during the weekend. The problem was that I was in the hospital (*) from Friday until Monday, and since I got out, I run to finish the things I left back for my day job. Sorry guys, even if a day had 36 hours, it'd still be hard for me right now to keep track of these two apps. Give me 5-6 days to finish some things, and I'll answer any questions you have related to the apps.

* So, one weekend spent in the hospital to have my tonsils scraped from the pus. And the next weekend, as I wasn't getting any better, again in the hospital to have my tonsils removed altogether... I still can't swallow well. This s**t pisses me off so much... I mean, something you do more than a hundred times a day (swallowing your saliva) can be so painful given the right circumstances... Simply a nightmare...

Link to comment
Share on other sites

Seeing below error in my logs:

[Mon Dec 24 06:41:46 2012] [error] [client ] PHP Fatal error:  Cannot break/continue 1 level in /applications_addon/other/duplicates/modules_public/process/process.php on line 114, referer: http://website/public/dml.swf

Also some uses have 50 unique or more then that machines associated with them. Hard to believe that is true. System is broken somewhere..Can you please look into it when you feel well ?


Link to comment
Share on other sites

Having a bit of an issue with this. It occurred after I merged some accounts and went on to delete failed attempts from the ModCP. Any help fixing would be appreciated.

Warning: Invalid argument supplied for foreach() in /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php on line 122

Warning: Invalid argument supplied for foreach() in /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php on line 122

Warning: Cannot modify header information - headers already sent by (output started at /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php:122) in /home/*******/public_html/*******/sources/classes/output/formats/html/htmlOutput.php on line 114

Warning: Cannot modify header information - headers already sent by (output started at /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php:122) in /home/*******/public_html/*******/sources/classes/output/formats/html/htmlOutput.php on line 127

Warning: Cannot modify header information - headers already sent by (output started at /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php:122) in /home/*******/public_html/*******/sources/classes/output/formats/html/htmlOutput.php on line 136

Warning: Cannot modify header information - headers already sent by (output started at /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php:122) in /home/*******/public_html/*******/sources/classes/output/formats/html/htmlOutput.php on line 137

Warning: Cannot modify header information - headers already sent by (output started at /home/*******/public_html/*******/applications_addon/other/duplicates/extensions/modcp/plugin_registrationsprohibited.php:122) in /home/*******/public_html/*******/sources/classes/output/formats/html/htmlOutput.php on line 141
Link to comment
Share on other sites

Think I ran into a bug:

I have just upgraded from 3.0.1 to 3.0.3 on IPB 3.2.3.

In [Overview, Settings, Warning Topic Postifications, Destination forum] I have selected a (single) forum.

When I go to [Management, Manage Duplicates, <Duplicates group>, postify all] I get:

Exception thrown: NO_FORUM_ID

tried this on multiple duplicate groups using Chrome and IE (though I didn't expect anything from those tests, just mentioning).

When I go back to the destination forum setting the previously chosen forum is still selected. So I do think the forum ID was stored somewhere.

And a feature request:

The topic with the notification currently has a fixed title. I'd like to show all detected duplicate member names in the title, so the moderators can tell the users concerned by looking at the title.

Link to comment
Share on other sites

What's going on here... I'm subscribed to the topic but I didn't receive a notification for the two last replies from Blackwolfie and wsf.

For both of you guys: Please provide me with some ACP and FTP info to look into your problems.

Esp. for wsf: I'll add a title replacement tag for nicknames in 3.0.4 for topics. That's easy. :)

Link to comment
Share on other sites

I have a suggestion for you (and for myself as well since it's the main reason I haven't purchased the app).

Back when I was on vbulletin I had a similar tool that we hacked up quite a bit over the years that I've been meaning to port over to IPB (of course it's been almost a year and I still haven't got around to actually doing it yet).

Anyway, my suggestion is an option to handle banned duplicate accounts different than regular duplicate accounts at registration and log-in.

When running the check for duplicates, if a user logs in from a computer that was previously used to log into a banned account, ban the new account.

It was a very handy feature when I had my old site set up like that.

Joe user gets banned, now he's pissed off that he's banned and goes and creates a new account. The duplicate account detection see's one of his other accounts is banned, and auto-bans the new account he just created or old account he logged in to.

This is also very useful for those members that keep 2 accounts for the sole purpose of mouthing off.

Example. Joe user has 2 account. With his primary account he behaves, but every now and then when he wants to behave like a troll h logs into his 2nd account because he doesn't care if that one get's banned.

From my experience testing it, you wouldn't want to auto-ban all the accounts at one time, and only ban extra account if they are logged in to, or registered/created while a banned account is present. If they never log in or register a new account during the ban period, there's no reason to auto-ban the other accounts they aren't using anyway.

Link to comment
Share on other sites

Thanks for the add on. This looks promising. I've been looking for a feature like this.

In the short period of time I've had it installed I've noticed a similar thing to what SimonB described. A small number of users quickly rack up 20 or more machines (often times in just one visit to the board). I am wondering what the conditions would be that would cause this to happen (Deletion of Flash cookies after each page load? Proxy use?). I've also noticed that several of these people are the ones who are actively trying to get around bans and create duplicate accounts. In some ways it would be helpful to have a report of users with more than three machines associated with them. This would make it easy to spot the ones that are trying to game the system. Just an idea.

Thanks again for the work on this!

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...