Друзья нужна помощь с регистрацией web

rikktor

Путник
Участник
Сообщения
23
Розыгрыши
0
Репутация
-2
Реакции
10
Баллы
30
Привет, друзья!
Я столкнулся с проблемой при работе с PHP кодом регистрации на сервере и надеюсь на вашу помощь. Мне нужно отправить запрос в базу данных для создания новой записи, но что-то идет не так.
Я попытался использовать запрос, который обычно используется для создания административной записи, но у меня это не получилось. Не могли бы вы подсказать, какие таблицы обычно используются для хранения информации о пользователях? Может быть, я выбираю не ту таблицу или делаю что-то не так с запросом c шифрованием тоже беда.
Буду благодарен за любую помощь или указание в правильном направлении. Если у вас есть какие-то идеи или опыт в этой области, пожалуйста, поделитесь им.
Спасибо большое!

Код:
<?php
session_start();

$serverName = "name";
$connectionOptions = array(
    "UID" => "sa",
    "PWD" => "pass"
);

$conn_lin2db = sqlsrv_connect($serverName, $connectionOptions + ["Database" => "lin2db"]);

if ($conn_lin2db === false) {
    die(print_r(sqlsrv_errors(), true));
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $err = array();

    if (empty($err)) {
        $finaly = array(
            'login' => $_POST['login'],
            'password' => $_POST['pwd'],
            'question' => "question",
            'answer' => "0x0",
            'ssn' => generateSSN(),
            'mail' => $_POST['mail']
        );

        
        $encryptedPassword = "0x" . strtoupper(hash('sha256', $_POST['pwd'])); 

        $queryUserAuth_lin2db = "INSERT INTO lin2db.dbo.user_auth VALUES('".$finaly['login']."', '".$encryptedPassword."', '".$finaly['question']."', '', ".$finaly['answer'].", 0x0, '0', NULL)";
        $queryUserAccount_lin2db = "INSERT INTO lin2db.dbo.user_account(account, pay_stat) VALUES('".$finaly['login']."', 1)";
        $querySSN_lin2db = "INSERT INTO lin2db.dbo.ssn(ssn, name, email, job, phone, zip, addr_main, addr_etc)
                              VALUES('".$finaly['ssn']."', '".$finaly['login']."' COLLATE Cyrillic_General_CI_AS, '".$finaly['mail']."' COLLATE Cyrillic_General_CI_AS, 0, 'phone', 'zip', 'addr1', 'addr2')";

        
        $result1_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuth_lin2db);
        $result2_lin2db = sqlsrv_query($conn_lin2db, $queryUserAccount_lin2db);
        $result3_lin2db = sqlsrv_query($conn_lin2db, $querySSN_lin2db);

        if (
            $result1_lin2db === false ||
            $result2_lin2db === false ||
            $result3_lin2db === false
        ) {
            die(print_r(sqlsrv_errors(), true));
        }
      
        header("Location: registration_success.php");
        exit();
    } else {
        
        print_r($err);
    }
} else {
    
    header("Location: registration_form.php");
    exit();
}

function generateSSN() {
    $ssn1 = mt_rand(1000000, 9999999);
    $ssn2 = mt_rand(100000, 999999);
    return $ssn1 . $ssn2;
}
?>
 

Нашел на форуме запрос обновил код но по прежнему при входе пишет неправильный пароль


Код:
<?php
session_start();

$serverName = "";
$connectionOptions = array(
    "UID" => "sa",
    "PWD" => ""
);

$conn_lin2db = sqlsrv_connect($serverName, $connectionOptions + ["Database" => "lin2db"]);

if ($conn_lin2db === false) {
    die(print_r(sqlsrv_errors(), true));
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $err = array();



    if (empty($err)) {
        $finaly = array(
            'login' => $_POST['login'],
            'password' => $_POST['pwd'],
            'question' => "question",
            'answer' => "0x0",
            'ssn' => generateSSN(),
            'mail' => $_POST['mail']
        );

        $queryUserAuth_lin2db = "INSERT INTO dbo.ssn(ssn,name,email,job,phone,zip,addr_main,addr_etc,account_num)
                                VALUES ('".$finaly['login']."','".$finaly['login']."','odmin@gmail.com',0,'telphone','123456','','',1)";
        $queryUserAccount_lin2db = "INSERT INTO user_account (account,pay_stat) VALUES ('".$finaly['login']."', 1)";
        $queryUserAuth_lin2db = "INSERT INTO user_auth (account,password,quiz1,quiz2,answer1,answer2)
                                VALUES ('".$finaly['login']."',0x355ADA81380381D174E659BC71EBCDCD,'lineage2','lineage2',0x355ADA81380381D174E659BC71EBCDCD,0x355ADA81380381D174E659BC71EBCDCD)";
        $queryUserInfo_lin2db = "INSERT INTO user_info (account,ssn,kind) VALUES ('".$finaly['login']."','".$finaly['login']."', 99)";
        $queryUserAuthUpdate_lin2db = "UPDATE user_auth SET password = 0x355ADA81380381D174E659BC71EBCDCD WHERE account = '".$finaly['login']."'";

        $result1_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuth_lin2db);
        $result2_lin2db = sqlsrv_query($conn_lin2db, $queryUserAccount_lin2db);
        $result3_lin2db = sqlsrv_query($conn_lin2db, $queryUserInfo_lin2db);
        $result4_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuthUpdate_lin2db);

        if (
            $result1_lin2db === false ||
            $result2_lin2db === false ||
            $result3_lin2db === false ||
            $result4_lin2db === false
        ) {
            die(print_r(sqlsrv_errors(), true));
        }

        header("Location: registration_success.php");
        exit();
    } else {

        print_r($err);
    }
} else {

    header("Location: registration_form.php");
    exit();
}

function generateSSN() {
    $ssn1 = mt_rand(1000000, 9999999);
    $ssn2 = mt_rand(100000, 999999);
    return $ssn1 . $ssn2;
}
?>
 
Что за сборка у вас?
 
<?php
session_start();

$serverName = "";
$connectionOptions = array(
"UID" => "sa",
"PWD" => ""
);

$conn_lin2db = sqlsrv_connect($serverName, $connectionOptions + ["Database" => "lin2db"]);

if ($conn_lin2db === false) {
die(print_r(sqlsrv_errors(), true));
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
$err = array();

if (empty($err)) {
$pwd = $_POST['pwd'];
$hashedPassword = hash("sha256", $pwd);
$hashedPasswordBase64 = base64_encode($hashedPassword);

$finaly = array(
'login' => $_POST['login'],
'password' => $hashedPasswordBase64,
'question' => "question",
'answer' => "0x0",
'ssn' => generateSSN(),
'mail' => $_POST['mail']
);

$queryUserAuth_lin2db = "INSERT INTO dbo.ssn(ssn,name,email,job,phone,zip,addr_main,addr_etc,account_num)
VALUES ('".$finaly['login']."','".$finaly['login']."','odmin@gmail.com',0,'telphone','123456','','',1)";
$queryUserAccount_lin2db = "INSERT INTO user_account (account,pay_stat) VALUES ('".$finaly['login']."', 1)";
$queryUserAuth_lin2db = "INSERT INTO user_auth (account,password,quiz1,quiz2,answer1,answer2)
VALUES ('".$finaly['login']."',0x355ADA81380381D174E659BC71EBCDCD,'lineage2','lineage2',0x355ADA81380381D174E659BC71EBCDCD,0x355ADA81380381D174E659BC71EBCDCD)";
$queryUserInfo_lin2db = "INSERT INTO user_info (account,ssn,kind) VALUES ('".$finaly['login']."','".$finaly['login']."', 99)";
$queryUserAuthUpdate_lin2db = "UPDATE user_auth SET password = 0x355ADA81380381D174E659BC71EBCDCD WHERE account = '".$finaly['login']."'";

$result1_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuth_lin2db);
$result2_lin2db = sqlsrv_query($conn_lin2db, $queryUserAccount_lin2db);
$result3_lin2db = sqlsrv_query($conn_lin2db, $queryUserInfo_lin2db);
$result4_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuthUpdate_lin2db);

if (
$result1_lin2db === false ||
$result2_lin2db === false ||
$result3_lin2db === false ||
$result4_lin2db === false
) {
die(print_r(sqlsrv_errors(), true));
}

header("Location: registration_success.php");
exit();
} else {

print_r($err);
}
} else {

header("Location: registration_form.php");
exit();
}

function generateSSN() {
$ssn1 = mt_rand(1000000, 9999999);
$ssn2 = mt_rand(100000, 999999);
return $ssn1 . $ssn2;
}
?>

 
  • Мне нравится
Реакции: rikktor

    rikktor

    Баллов: 1
    благодарю за поддержку запись прошла успешно но клиент так и не принял пароль
Вам нужно правильно генерить пароль для птс, возьмите с этого мануала.
Или включите в настройках хинта пароль md5, что в принципе не очень безопасно.


:Coffee:
 
Что за сборка у вас?
ReleaseVanganth_02_11_16_Null
Вам нужно правильно генерить пароль для птс, возьмите с этого мануала.
Или включите в настройках хинта пароль md5, что в принципе не очень безопасно.


:Coffee:
благодарю сейчас попробую

Vikos
благодарю за поддержку
запись в базу прошла успешно но клиент так и не принял пароль
 
ReleaseVanganth_02_11_16_Null

благодарю сейчас попробую

Vikos
благодарю за поддержку
запись в базу прошла успешно но клиент так и не принял пароль
а какой доступные методы хеширования? у птс. я проста хз что у птс)
 
а какой доступные методы хеширования? у птс. я проста хз что у птс)
взято с мануалов

Код:
Скрипт на создание аккаунта:
INSERT INTO dbo.ssn(ssn,name,email,job,phone,zip,addr_main,addr_etc,account_num)VALUES ('_account_name_','_account_name_','odmin@gmail.com',0,'telphone','123456','','',1)
go
INSERT INTO user_account (account,pay_stat)
VALUES ('_account_name_', 1)
go
INSERT INTO user_auth (account,password,quiz1,quiz2,answer1,answer2)
VALUES ('_account_name_',0x355ADA81380381D174E659BC71EBCDCD,'lineage2','lineage2',0x355ADA81380381D174E659BC71EBCDCD,0x355ADA81380381D174E659BC71EBCDCD)
go
INSERT INTO user_info (account,ssn,kind)
VALUES ('_account_name_','_account_name_', 99)
go
UPDATE user_auth
SET password = 0x355ADA81380381D174E659BC71EBCDCD
WHERE account = '_account_name_'
go

Password: q1w2e3r4t5y6

И еще пару типов паролей:
root = 0xB1BE70E9A83F19192CB593935EC4E2E2
odmin = 0x2967DE64D95DD1D0E57C5A5A970D2B2B
mentos = 0x25688B73CEEF2D5A6FF6D0D01D87A1A1
123321 = 0xB53AA258654C76D6E37A5C5C910B2D2D
pasworrd = 0xB539450DB091EC8ABF266666CD577171
megoadmin = 0x25681B3ABB0C39DA6B18949558C2E4E4

но и обычным sql запросом у меня не вышло создать аккаунт только с помощью программы l2am
 
<?php
session_start();

$serverName = "";
$connectionOptions = array(
"UID" => "sa",
"PWD" => ""
);

$conn_lin2db = sqlsrv_connect($serverName, $connectionOptions + ["Database" => "lin2db"]);

if ($conn_lin2db === false) {
die(print_r(sqlsrv_errors(), true));
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
$err = array();

if (empty($err)) {
$pwd = $_POST['pwd'];
$hashedPassword = md5($pwd);
$hashedPasswordHex = '0x' . strtoupper($hashedPassword);

$finaly = array(
'login' => $_POST['login'],
'password' => $hashedPasswordHex,
'question' => "question",
'answer' => "0x0",
'ssn' => generateSSN(),
'mail' => $_POST['mail']
);

$queryUserAuth_lin2db = "INSERT INTO dbo.ssn(ssn,name,email,job,phone,zip,addr_main,addr_etc,account_num)
VALUES ('".$finaly['login']."','".$finaly['login']."','odmin@gmail.com',0,'telphone','123456','','',1)";
$queryUserAccount_lin2db = "INSERT INTO user_account (account,pay_stat) VALUES ('".$finaly['login']."', 1)";
$queryUserAuth_lin2db = "INSERT INTO user_auth (account,password,quiz1,quiz2,answer1,answer2)
VALUES ('".$finaly['login']."',".$finaly['password'].",'lineage2','lineage2',0x355ADA81380381D174E659BC71EBCDCD,0x355ADA81380381D174E659BC71EBCDCD)";
$queryUserInfo_lin2db = "INSERT INTO user_info (account,ssn,kind) VALUES ('".$finaly['login']."','".$finaly['login']."', 99)";
$queryUserAuthUpdate_lin2db = "UPDATE user_auth SET password = ".$finaly['password']." WHERE account = '".$finaly['login']."'";

$result1_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuth_lin2db);
$result2_lin2db = sqlsrv_query($conn_lin2db, $queryUserAccount_lin2db);
$result3_lin2db = sqlsrv_query($conn_lin2db, $queryUserInfo_lin2db);
$result4_lin2db = sqlsrv_query($conn_lin2db, $queryUserAuthUpdate_lin2db);

if (
$result1_lin2db === false ||
$result2_lin2db === false ||
$result3_lin2db === false ||
$result4_lin2db === false
) {
die(print_r(sqlsrv_errors(), true));
}

header("Location: registration_success.php");
exit();
} else {

print_r($err);
}
} else {

header("Location: registration_form.php");
exit();
}

function generateSSN() {
$ssn1 = mt_rand(1000000, 9999999);
$ssn2 = mt_rand(100000, 999999);
return $ssn1 . $ssn2;
}
?>

а так?
 
тоже пишет неверный пароль
попробовал включить md5 в настройка логин сервера и проверил снова теперь пишет в клиенте system error
ну что я могу сказать, узнай какой метод шифрования пароля использует твоя сборка
 
Сказал бы какой аутх юзает лучше.
 
Назад
Сверху Снизу