• 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

Aruba Cloud - Virtual Private Server VPS
0 głosów
124 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 (606,550 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,933 wizyt
–1 głos
2 odpowiedzi 846 wizyt
pytanie zadane 25 lipca 2016 w PHP przez Omin Początkujący (250 p.)
0 głosów
3 odpowiedzi 170 wizyt
pytanie zadane 8 stycznia w PHP przez arcziart Nowicjusz (140 p.)

93,327 zapytań

142,323 odpowiedzi

322,396 komentarzy

62,657 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...