Очень простая аутентификация пользователя php - PullRequest
0 голосов
/ 17 мая 2018

Я другой девственный кодер, и у меня возникают проблемы при создании очень, очень простой системы аутентификации пользователей. Вопреки наилучшей практике, это небольшой проект, и безопасность не вызывает беспокойства.

Я хочу создать имя пользователя и пароль, которые должны быть зашифрованы и сохранены в базе данных. Затем форма входа, затем направленная на целевую страницу. Я не обеспокоен тем, чтобы оставаться в системе для сеансов; это может быть одна и та же вещь, чтобы получить доступ к одной странице за раз. Очень элементарно, но я все еще не могу понять сам ...

Пользовательский ввод с хэшированным проходом из createuser.html, FORM.php не отправляется в базу данных.

У меня есть код здесь ...

CREATE ADMIN:

....

    <div class="body-content">
      <div class="module">
        <h1>Create Admin</h1>
        <form class="form" action="form.php" method="post" enctype="multipart/form-data" autocomplete="off">
          <div class="alert alert-error"></div>
          <input type="text" placeholder="User Name" name="username" required />
          <input type="password" placeholder="Password" name="password" required />
          </div>
          <input type="submit" value="Register" name="register" class="btn btn-block btn-primary" />
        </form>
      </div>
    </div>
        
     ....

form.php

if (!$con)
	{die("Failed to connect to MySQL: " . mysqli_connect_error() ); }


$var_user = $_POST['username'];
$var_pass = $_POST['password'];

//encrypt the password
//Grab the password from form data sent via POST

//encrypt the password
$encPassword = password_hash($var_pass, PASSWORD_DEFAULT);


$query = "INSERT INTO users(id, username, password)
VALUES ('id', '$var_user', '$encPassword')";

if (mysqli_query($con, $query))
	{echo "User created" . "<br>";}
else
	{ die('SQL Error: ' . mysql_error($con) ); }
mysqli_close($con);
?>

ВХОД:

.....
  <form name="login" method="post" action="verify.php">
    <table width="450px">
    <tr>
     <td valign="top">
      <label for="username">Username</label>
     </td>
     <td valign="top">
      <input type="text" name="username" maxlength="100" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="password">Password</label>
     </td>
     <td valign="top">
      <input type="password" name="password" maxlength="100" size="30">
     </td>
    </tr>
    <tr>
     <td colspan="2" style="text-align:center">
      <input type="login" value="Login" name="Login" class="btn btn-block btn-primary" />
     </td>
    </tr>
    </table>
    </form>
.....

verify.php

<?php

// $encPassword is the hashed password value from our database
// $postPassword is the password from our login form

    if (password_verify($postPassword, $encPassword )) 
{
        echo 'Password is valid!';
    } else {
        echo 'Invalid password.';
    }
    ?>

Я знаю, что это немного, и мне не хватает части для проверки пароля с подключенным именем пользователя. Мне просто очень нужна помощь, друзья мои. Заранее спасибо !!!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...