Porównywanie haseł z użytkownikami phpmyadmin

0

Witam mam problem à propos: próbuję porównać nazwy i hasła użytkowników z użytkownikami w phpmyadmin ale niestety kiedy wpisuje hasło nie mogę ich porównać z tymi w phpmyadmim, nie mam pojęcia dlaczego tak jest, strzelałbym że może to być przyczyna szyfrowania haseł w myadminie ma ktoś jakiś pomysł jak można temu zaradzić.

require_once "conn.php";
    $login = $_POST['nazwa'] ??null;
    $haslo = $_POST['haslo'] ??null;

        
        $sql = "select user, password from mysql.user where user = '$login' AND password = '$haslo';";
        
        if ($result = mysqli_query($conn, $sql))
        {
            $ileZwrotow = mysqli_num_rows($result);

            if ($ileZwrotow > 0)
            {
                $_SESSION['zalogowany'] = true;
                $wiersz = mysqli_fetch_assoc($result);
                $_SESSION['User'] = $wiersz['User'];
                $_SESSION['Password'] = $wiersz['Password'];
                echo "Nazwa użytkownika" . $_SESSION['User'];
                echo "Hasło" . $_SESSION['Password'];
            }
            else
            {
               $_SESSION['blad'] = "Nie ma takiego konta";
           }
2

Robisz zapytanie do tabeli mysql.user czyli takiej, gdzie przechowywane są informacje o użytkownikach samej bazy danych.
Mam nadzieję, że nie zapisujesz tam użytkowników programu?
Poczytaj o przechowywaniu haseł. Powinieneś trzymać hash hasła i potem porównywać hashe.

1

Musisz zamienic haslo wpisywane przez usera na HASH taki jak robi twoj program i porownywac te hashe

2
simon1233 napisał(a):

Witam mam problem à propos: próbuję porównać nazwy i hasła użytkowników z użytkownikami w phpmyadmin

Jak ja kocham, jak mówicie "dane w phpadmin".
A jak baza jest używana spoza phpadmin, to znikają czy co?

Dane, hasła w bazie danych, kolego

chomikowski napisał(a):

Musisz zamienic haslo wpisywane przez usera na HASH taki jak robi twoj program i porownywac te hashe

Oczywiście tak.

simon1233 napisał(a):
    $login = $_POST['nazwa'] ??null;
    $haslo = $_POST['haslo'] ??null;

        
    $sql = "select user, password from mysql.user where user = '$login' AND password = '$haslo';";

Wprowadź w polu User coś takiego ''Xxx'';drop database
Masz książkowy przykład sql injection
Tu chłopak robi to tak, jak ma być, z preparowaniem parametrów sql
Formularz rezerwacji

1 użytkowników online, w tym zalogowanych: 0, gości: 1