• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Porównywanie pierwotnego hasła z hashowanym

Object Storage Arubacloud
0 głosów
86 wizyt
pytanie zadane 10 lipca 2023 w PHP przez el maccho Użytkownik (620 p.)
zamknięte 10 lipca 2023 przez el maccho
<?php
$errors = [];

if ($_SERVER["REQUEST_METHOD"] === "POST"){
    $email = $_POST['email'];
    $password = $_POST['password'];

    if ($_SERVER["REQUEST_METHOD"] === "POST") {
        if (empty($email) || empty($password)) {
            $errors[] = "Wypełnij wszystkie pola";
        } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $errors[] = "Podany adres e-mail jest nieprawidłowy.";
        }
    }

    if (empty($errors)){
        $conn = new mysqli("localhost", "root", "", "forumapporsmth");

        if($conn->connect_error){
            die("Błąd połączenia z bazą danych. Przepraszamy za problemy");
        }

        $query = "SELECT email, haslo FROM users WHERE email = '$email'";

        $result = $conn->query($query);

        if ($result->num_rows == 1) {
            $row = $result->fetch_assoc();
            $hashedPassword = $row['haslo'];
        
            if (password_verify($password, $hashedPassword)) {
                session_start();
                $_SESSION['email'] = $email;
        
                $query = "SELECT imie FROM users WHERE email = '$email'";
                $result = $conn->query($query);
                $user = $result->fetch_assoc();
                $imie = $user['imie'];
        
                $_SESSION['imie'] = $imie;
        
                header('Location: ./main/main.php');
                exit();
            } else {
                $errors[] = "Nieprawidłowe hasło";
            }
        } else {
            $errors[] = "Nieprawidłowy e-mail";
        }
    }
}
?>

Siemka. W bazie danych w tabeli users znajduje sie kolumna "haslo" ktora przechowuje hashowane podczas rejestracji haslo. Jednak podczas logowania po wpisaniu ,,pierwotnego" hasla nie moge sie zalogowac do main.php (wyswietla mi blad o nieprawidlowym hasle). Czy moglby ktos podpowiedziec gdzie lezy blad?

komentarz zamknięcia: znam juz odpowiedz na moje pytanie
komentarz 10 lipca 2023 przez Comandeer Guru (602,560 p.)

Co dokładnie zawiera $hashedPassword? Wyświetl to sobie przez var_dump().

komentarz 10 lipca 2023 przez el maccho Użytkownik (620 p.)

Po utworzeniu nowego uzytkownika w bazie danych w kolumnie haslo jest to 
$2y$10$W13stno5e4Aff

 

echo var_dump($hashedPassword) jednak pokazuje mi troszke innaczej
string(60) "$2y$10$W13stno5e4Affzh71fAGReVjQl0.TK9iEuBHmpAtA0TAhJGYFexwG"

 

mam przypuszczenia ze chodzi o dlugosc varchara w bazie danych sproboje cos z tym zmienic

komentarz 10 lipca 2023 przez el maccho Użytkownik (620 p.)
Tak jak myslalem. Zmienilem dlugosc varchara w bazie danych i teraz smiga

Podobne pytania

0 głosów
1 odpowiedź 1,703 wizyt
–1 głos
2 odpowiedzi 494 wizyt
pytanie zadane 25 lipca 2016 w PHP przez Omin Początkujący (250 p.)
0 głosów
0 odpowiedzi 187 wizyt
pytanie zadane 30 stycznia w PHP przez whiteman808 Obywatel (1,950 p.)

92,666 zapytań

141,564 odpowiedzi

320,020 komentarzy

62,032 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...