Задать вопрос
@Pyhon3x

Можно-ли улучшить этот код?

Код:
<?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
?>

Спасибо!
  • Вопрос задан
  • 294 просмотра
Подписаться 2 4 комментария
Подписчики вопроса 2 К ответам на вопрос (1)