[PHP] login con password_verify - password_hash

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve non riesco ad far funzionare questa pagina di login:
PHP:
<?php
session_start();
include($_SERVER['DOCUMENT_ROOT']."/inc.php");

if(isset($_POST['submitBtnLogin'])) {
  $email=$_POST['email'];
  $pw=$_POST['password'];
  $password_hash=password_hash($pw, PASSWORD_DEFAULT);

  $stmt = $db->prepare("SELECT * from users WHERE email=? AND password=?");
  $stmt->execute(array($email, $password_hash));
  $row_count = $stmt->rowCount();
  $row = $stmt->fetch();

  if (password_verify($pw, $password_hash)) {


    $_SESSION['login'] = true;
    $_SESSION['sess_user_id']   = $row['id'];
    $_SESSION['sess_user_name'] = $row['username'];
    $_SESSION['sess_name'] = $row['lname'];
    $_SESSION['user_type'] = $row["username_type"];
    redirect("home.php");
  }
  else {
    $error =  "Wrong Username or Password";
  }
}
?>
<!DOCTYPE html>
<html lang="it" dir="ltr">
<head>
  <meta charset="utf-8">
  <title></title>
</head>
<body>
  <?php
  if(isset($error)){ echo '<p class="info_error">'.$error.'</p>';}
  if(isset($msg)){ echo $msg;} else {
    ?>
    <form method="post">
      <table class="loginTable">
        <tr>
          <th>ADMIN PANEL LOGIN</th>
        </tr>
        <tr>
          <td>
            <label class="firstLabel">Email:</label>
            <input type="text" name="email" id="email" value="" autocomplete="off" />
          </td>
        </tr>
        <tr>
          <td><label>Password:</label>
            <input type="password" name="password" id="password" value="" autocomplete="off" /></td>
          </tr>
          <tr>
            <td>
              <input type="submit" name="submitBtnLogin" id="submitBtnLogin" value="Login" />
              <span class="loginMsg"><?php echo @$msg;?></span>
            </td>
          </tr>
        </table>
      </form>
    <?php } ?>
  </body>
  </html>


non mi entra nell'if di password_verify,
avete idea se si scrive cosi i login con password_verify perché in rete trovo poco ma in inglese.

avete idea ?
Grazie mille.
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Scusa questa parte non ha senso....
PHP:
//hash password da POST
$password_hash=password_hash($pw, PASSWORD_DEFAULT);

//query con Hash da post della password
  $stmt = $db->prepare("SELECT * from users WHERE email=? AND password=?");
  $stmt->execute(array($email, $password_hash));
  $row_count = $stmt->rowCount();
  $row = $stmt->fetch();


  if (password_verify($pw, $password_hash)) {
Già filtri con la query passando l'hash della password, non serve il password_verify()....
 

fratt

Nuovo Utente
19 Gen 2019
33
4
8
Leggendo un po' di documentazione, vedo che consigliano di utilizzare password_verify() piuttosto che il confronto diretto.
Quindi forse conviene impostare la query sql solo con la mail e poi fare il controllo della password col password_verify().
 
Discussioni simili
Autore Titolo Forum Risposte Data
L [PHP] login con password_verify PHP 3
L [PHP] login con varie entrate PHP 3
M [PHP] Problemi con il riconoscimento login. PHP 21
F Problema con pagine login in PHP PHP 2
M [PHP] Problemi con login facebook PHP 0
L [PHP] login e protezione pagine con session PHP 3
L [PHP] login con la classe medoo.in PHP 5
I [PHP] login con sessione singola PHP 1
D [PHP] Login Multiutente con pagina privata PHP 5
S [PHP] Problemi con Login e pagina Utente PHP 5
webmachine [PHP] Problemi con Login e pagina Utente PHP 3
F Problemi login con lo script php PHP 2
M Script php login con password in scadeza ogni tre mesi PHP 2
D aiuto con pag di login in php PHP 1
M Login con php PHP 2
E [PHP + MySql] Sito con login e sessioni PHP 8
L [PHP/MYSQL] Login con ricordo utente PHP 1
I [PHP]Problema sito con form login in ogni pagina PHP 7
S [PHP] Stampa a video Nome e Cognome in seguito a login PHP 1
M [PHP] header (location..) non funzionante dopo login PHP 3
L [PHP] Visualizzare utente dopo login PHP 0
F [PHP] Login senza database PHP 3
F [php] sicurezza password form login PHP 2
M [PHP] Metodo migliore per fare login a un DB Mysql PHP 1
Y [PHP] Errore di login dopo aver inserito Codice AdSense PHP 0
W [PHP] Login sicuro al web Service SOAP PHP 20
P [PHP] Limitare login ad un solo utente per volta PHP 12
I [PHP] [Javascript] login da smartphone a web PHP 3
P [PHP] Reindirizzamento post Login PHP 3
bubino8 [WordPress] [PHP] Login diretto da bottone WordPress 4
D problemi login php 5.6 mysql PHP 1
I [PHP] Login Facebook SDK returned an error: No URL set! PHP 0
G PHP Login PHP 1
Laskot Login php e redirect PHP 1
K [PHP] Unica sessione login forum/sito PHP 1
bubino8 [PHP] Login Automatico PHP 1
M [PHP] Sessione Login PHP 15
C [PHP] Aprire la pagina dopo aver fatto il login PHP 1
fabry1986 [PHP] login PHP 2
Punix pagine login-logout php principiante PHP 4
ANDREA20 [PHP] Echo login PHP 2
P [PHP] aiuto creazione login PHP 16
M login.php PHP 12
otto9due [risolto] Problema sessioni php e login PHP 5
D creazione di una login in php PHP 1
M Pagina di registrazione e login in php PHP 4
C Creare Login php PHP 0
D Pagina login php-mysql PHP 1
helpdesk Nessuna session start in login PHP PHP 12
max_400 il login in php è sicuro? PHP 14

Discussioni simili