Код:
<?php
//Require-скрипты
require 'connect.php';
//Переменные, и другая ерунда...
$server_Code = random_int(0, 9999999999);
$client_Code = random_int(0, 9999999999);
$vereficationCode = random_int(0, 999999);
$session = $server_Code + $client_Code;
$email = $_POST['email'];
$UN = $_POST['User-Name'];
$psw = $_POST['psw'];
if ($psw == null AND $email == null) {
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=NOT-Not_Data');
exit();
}
$psw_repeat = $_POST['psw_repeat'];
//Проверки
if (strlen($psw) < 8) {
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=NOT-PtL');
} else if (!preg_match("#[0-9]+#", $psw)) {
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=NOT-number');
} else {
//Проверка на корекстность E-Mail
if (filter_var($email, FILTER_VALIDATE_EMAIL)){
//Проверка на одинаковость паролей
if ($psw == $psw_repeat) {
$psw_hash = hash('sha512', $psw);
$sql = 'SELECT * FROM `Users` WHERE `Email`=:email';
$query = $pdo->prepare($sql);
$query->execute(["email" => $email]);
$row = $query->fetch(PDO::FETCH_OBJ);
//Такой E-Mail зарегестрирован?
if ($row->Email != $email) {
$sql = 'INSERT INTO `Users`(`Email`, `PSW`, `User_Name`, `session`, `server_Code`, `provider`) VALUES (:email, :psw, :UN, :session, :server_Code, "TS_AUTH")';
$query = $pdo->prepare($sql);
$query->execute([
"email" => $email,
"psw" => $psw_hash,
"UN" => $UN,
"session" => $session,
"server_Code" => $server_Code
]);
session_start();
setcookie("session_id", $client_Code, '/AUTH');
$_SESSION['email'] = $email;
$_SESSION['UN'] = $UN;
$_SESSION['vereficationCode'] = $vereficationCode;
$to = "<".$email.">" ;
$subject = "Подтвердите Почту";
$message = '
<h1 align="center">Привет , Это TS</h1>
<h3 align="center">|!| Если вы не проводили регестрацию просто проигнорируйте это сообщение |!|</h3>
<p align="center">Вы хотели зарегистрироваться на нашем сайте, для это-го перейдите на <a href="accounts.tsecret.net/Log_In/verificatoinEmail.php?Code='.$vereficationCode.'">ЭТУ</a> страницу и введите Verification Code: '.$vereficationCode.'<p>
';
$headers = "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: Центер Аккаунтов TSecret <Account-Center@tsecret.net>\r\n";
mail($to, $subject, $message, $headers);
setcookie("PHPSESSID", $_COOKIE['PHPSESSID'], 0, '/', '.tsecret.net');
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=200');
} else if($row->Email == $email) {
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=NOT-Acc!');
}
} else {
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=NOT-P(s)isNot==');
}
} else {
header('Location: http://test-server.tsecret.net/AUTH-2/Sign_In/index.php?response=NOT-EiNC');
}
}
//https://www.php.net/manual/ru/function.password-verify.php
?>
Спасибо!