Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema con password_verify

    Ciao a tutti
    Ho un problema con le verifiche delle password che ho salvato in un database con la funzione password_hash()

    Codice PHP:
    $user_login trim($_POST["user_login"]);$psw_login trim($_POST["psw_login"]);
    $sql "SELECT email, password FROM register_user WHERE email='$user_login' AND password='$psw_login'";
    $query $db->query($sql);
    $rec mysqli_fetch_row($query);
    $query $db->query($sql);
    $email $rec[0];
    $password $rec[1];

    if(
    $email == $user_login && password_verify($psw_login$password)){
    echo 
    "ok";
    }else {
    echo 
    "errore";

    Il problema e che mi da sempre errore come mai?

  2. #2
    il dump della query intanto ti restituisce l'hash salvato?
    aquatimer2000

  3. #3
    Quote Originariamente inviata da aquatimer2000 Visualizza il messaggio
    il dump della query intanto ti restituisce l'hash salvato?

    Si e la prima cosa che ho controllato

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Secondo me c'è qualcosa che non va nella logica del funzionamento.

    Vediamo se ho capito la situazione:
    - tramite post l'utente invia l'email e la password "in chiaro", non l'hash ovviamente
    - nella query tu cerchi un record con la stessa email e la stessa password che arrivano tramite post.

    Nel DB avrai un record con
    email: pippo@ciccio.tld
    pass: $2y$10$h6hISBD2JEaQT0/Gp4DFwefyHRb/N4YaLdHsh4UyNq9eCOxZ89NWC

    dal form ti arriveranno
    email: pippo@ciccio.tld
    pass: pippo

    come fa quella query ad avere un match se gli passi come password "pippo" e non il suo hash?

  5. #5
    ok ok ho risolto una mia inosservanza
    Nella query non posso verificare anche la password visto che non ce lo per la verifica sulla query

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Saprai sicuramente con quale algoritmo hai criptato le password nel db, esegui lo stesso algoritmo sulla password che ti arriva dal form ed esegui la query usando l'hash ottenuto, se la query ritorna un record il login è andato bene, altrimenti no.

  7. #7
    Quote Originariamente inviata da techno Visualizza il messaggio
    ok ok ho risolto una mia inosservanza
    Nella query non posso verificare anche la password visto che non ce lo per la verifica sulla query
    l'importante è che hai risolto ! segui i consigli di Alhazred
    aquatimer2000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.