PDA

Просмотр полной версии : Синхронизация


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

<?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();
}
?>

Например если в этой

$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
$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();
}
?>