Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Синхронизация (https://forum.antichat.xyz/showthread.php?t=114675)

Vinsik 06.04.2009 05:31

Синхронизация
 
Вопщем есть страница авторищации для одной вещи, я бы хотел обьеденить регистрацию вместе с форумом vbulletin
булка использует мд5 хеш + 3 случайных символа
Выглядит это так
$passwordhash = md5 (md5 ($password) . $salt);
$salt - это таблица в БД где и хранятся эти три символа
как мне это встроить вот в этот код?
PHP код:

<?php
    $dblocation 
"localhost";
    
$dbname "test";
    
$dbuser "root";
    
$dbpasswd "root";
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!
$dbcnx) {
      echo( 
"<P>В настоящий момент сервер базы данных не
                          доступен, поэтому корректное отображение
                          страницы невозможно.</P>" 
);
      exit();
    }
    if (! @
mysql_select_db($dbname,$dbcnx) ) {
      echo( 
"<P>В настоящий момент база данных не доступна, 
                          поэтому корректное отображение страницы
                          невозможно.</P>" 
);
      exit();
    }
    
$query "SELECT password FROM users WHERE name='".$_POST['name']."'";
    
$nme mysql_query($query);
    if(!
$nme)
    {
      echo 
"Ошибка выполнения запроса";
      exit();
    }
    if(
mysql_num_rows($nme) > 0)
    {
       
$password mysql_result($nme,0);
       if (
$_POST['password'] == $password)  echo "Hello, $name"
       else
       {
         echo 
"Ошибка идентификации: неправильный пароль";
         exit();
       }
    }
    else
    {
      echo 
"Ошибка идентификации: посетитель не зарегистрирован";
      exit();
    }
?>

Например если в этой
PHP код:

   $query "SELECT password FROM users WHERE name='".$_POST['name']."'"

строке заменить password на email то авторизация ник +емаил идет.
Вопщем как прикрутить алгоритм шифрования $passwordhash = md5 (md5 ($password) . $salt); к этому коду?? :confused: в БД таблица salt имеется

Gifts 06.04.2009 08:45

Vinsik
PHP код:

<?php
$dblocation 
"localhost";
$dbname "test";
$dbuser "root";
$dbpasswd "root";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!
$dbcnx) {
    echo( 
"<P>В настоящий момент сервер базы данных не
    доступен, поэтому корректное отображение
    страницы невозможно.</P>" 
);
    exit();
}
if (! @
mysql_select_db($dbname,$dbcnx) ) 
{
    echo( 
"<P>В настоящий момент база данных не доступна, 
    поэтому корректное отображение страницы
    невозможно.</P>" 
);
    exit();
}

$query "SELECT password, salt FROM users WHERE name='".mysql_real_escape_string($_POST['name'])."'";
$nme mysql_query($query);
if(!
$nme)
{
    echo 
"Ошибка выполнения запроса";
    exit();
} else if (
mysql_num_rows($nme) != 1)
{      
    echo 
"Ошибка идентификации: неправильное имя пользователя и/или пароль";
    exit();
}

$bpass=mysql_fetch_assoc($nme);

if (
md5(md5($_POST['password']).$bpass['salt']) == $bpass['password'])  
{
    echo 
"Hello, $name"
}
else
{
    echo 
"Ошибка идентификации: неправильное имя пользователя и/или пароль";
    exit();
}
?>



Время: 12:36