vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   vBulletin Member Authentication -- Solution for novice coders. (https://vborg.vbsupport.ru/showthread.php?t=76737)

CMilne 02-21-2005 04:14 AM

vBulletin Member Authentication -- Solution for novice coders.
 
I'm not sure about other people, but I needed this for an integration script I was doing, and it took me three hours to work out. It's just a file that checks is the password a client has entered is their real one, good for member integrations, stick it up with sessions and cookies and you've got yourself a keeper.

It's so hard because it uses a very advanced md5 code and uses a per member encryption system, so password 'jonny' for one account, dosen't result in the same md5 code as th password 'jonny' for another account.

This code is free for all, just wanted to share my discovery.

PHP Code:

<?

// connect to the database
@ $db = mysql_connect('dbhost', 'dbusername', 'dbpassword');
mysql_select_db('dbname');

// magical query #1
$sql = mysql_query("SELECT * FROM user WHERE userid='1'");
$userinfo = mysql_fetch_assoc($sql);

$username    = $HTTP_POST_VARS['username']; // username
$password     = $HTTP_POST_VARS['password']; // password

// magical query #2
$sql = mysql_query("SELECT * FROM user WHERE username='$username'");
$userinfo = mysql_fetch_assoc($sql);
$userrows = mysql_num_rows($sql);

// Convert the password entered into the fancy vBulletin code
$newpassword     = md5(md5($password) . $userinfo['salt']);

$sql2 = mysql_query("SELECT * FROM user WHERE username='$username' and password='$newpassword'");

if (mysql_num_rows($sql2) > 0) {

    echo "You're Registered!";

} else { // Credentials are wrong

    if ($userrows > 0) {
        echo "Wrong Password"; // They ARE Registered, but they entered the wrong password
    } else {
        echo "You aint registered here MATE!";  // They arent registered at your forums
}

?>

This is mainly useful because MD5 encryption is one way making it a million times harder to integrate :(

Confirmed works in PHP 4.3.10 & 5.0.3

Marco van Herwaarden 02-21-2005 06:18 AM

You should really change this:
PHP Code:

$username    $HTTP_POST_VARS['username']; // username 
$password     $HTTP_POST_VARS['password']; // password 

into
PHP Code:

$username    addslashes($HTTP_POST_VARS['username']); // username 
$password     addslashes($HTTP_POST_VARS['password']); // password 

to avoid exploits. ;)

Revan 02-22-2005 08:28 PM

and $HTTP_POST_VARS are deprecated, $_POST does the trick ;)

Marco van Herwaarden 02-23-2005 02:40 AM

Quote:

Originally Posted by Revan
and $HTTP_POST_VARS are deprecated, $_POST does the trick ;)

Lol, didn't even see that one :D

But i am not sure if we will hear again from him.


All times are GMT. The time now is 07:13 AM.

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.01653 seconds
  • Memory Usage 1,724KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete