Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-21-2009, 11:22 PM
Lind101 Lind101 is offline
 
Join Date: Jul 2009
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default [URGENT] Unique User Profile Field

Firstly, hello to everyone of VBulletin.org.

Now to the problem. I have a board which i have linked up to the Login Server of an Online Game that i have created. To login to this game you are required to enter your GameID (A private User Profile Field i have added to the registration form and is mandatory upon forum registration) and your forum password. All works fine, however i suddenly realised that this new field i have added is not unique, which means two people may enter the same GameID which obviously would in turn cause havoc for the Login Server as it is unable to determine between accounts with the same GameID.

The reason i have decided to do it this way? Security. If i did it solely off the forum username, potential hackers would already have half of the login details and would only need the password to hack the account. This way the extra ID is kept secret and only know to the creator of the forum account.

So the question is, upon registration, is there anyway that i can get VB to check that the entered User Profile Field (GameID) is unique? Much like it does with username and email?

If not does anyone know how any hacks/mods that might allow me to add and check such a field straight into the "user" table rather than "userfield"?

Thanks in advance.

Lind
Reply With Quote
  #2  
Old 07-21-2009, 11:43 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would suggest a plugin at hook: 'register_addmember_process' to check for the duplicates. You could possibly look at how vbulletin checks for duplicate usernames, then modify that code to suit your need.
Reply With Quote
  #3  
Old 07-22-2009, 10:11 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What happens if you simply add a unique index to that column in the database?
Reply With Quote
  #4  
Old 07-22-2009, 01:12 PM
Lind101 Lind101 is offline
 
Join Date: Jul 2009
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Antivirus View Post
I would suggest a plugin at hook: 'register_addmember_process' to check for the duplicates. You could possibly look at how vbulletin checks for duplicate usernames, then modify that code to suit your need.
Yea thats the conclusion i came to, but unfortuantly i have no idea about writting Plugins for VB. I suppose i could give it a go, thanks.

Quote:
Originally Posted by Marco van Herwaarden View Post
What happens if you simply add a unique index to that column in the database?
Throws up a database error message, but still goes ahead with the registration, just doesn't put any information in the User Profile Field in the database. Which i suppose is half the battle, as it woun't let you view any of the forums until you fill out your GameID, just a bit messy. Thanks though.

Any other idea's/solutions welcome.
Reply With Quote
  #5  
Old 07-22-2009, 02:50 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In that case a plugin is needed. Plugin's are just small snippets of PHP-code executed at a specific location. For more info see the manual: Plugin System
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 09:21 PM.


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.09712 seconds
  • Memory Usage 2,196KB
  • Queries Executed 11 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete