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

question-closed Logowanie za pomocą emaila

Object Storage Arubacloud
0 głosów
331 wizyt
pytanie zadane 31 grudnia 2020 w PHP przez MateuszSikorski Obywatel (1,070 p.)
zamknięte 31 grudnia 2020 przez MateuszSikorski

Witam, oto kod z mojej strony, chciałbym go przerobić na logowanie za pomocą maila a nie Loginu, jak to zrobić?

Kod:

<?php

    session_start();

    if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
    {
        header('Location: /index.php');
        exit();
    }

    require_once "connect.php";

    $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

    if ($polaczenie->connect_errno!=0)
    {
        echo "Error: ".$polaczenie->connect_errno;
    }
    else
    {
        $login = $_POST['login'];
        $haslo = $_POST['haslo'];

        $login = htmlentities($login, ENT_QUOTES, "UTF-8");

        if ($rezultat = @$polaczenie->query(
        sprintf("SELECT * FROM uzytkownicy WHERE user='%s'",
        mysqli_real_escape_string($polaczenie,$login))))
        {
            $ilu_userow = $rezultat->num_rows;
            if($ilu_userow>0)
            {
                $wiersz = $rezultat->fetch_assoc();

                if (password_verify($haslo, $wiersz['pass']))
                {
                    $_SESSION['zalogowany'] = true;
                    $_SESSION['id'] = $wiersz['id'];
                    $_SESSION['email'] = $wiersz['email'];
                    $_SESSION['user'] = $wiersz['user'];
                    $_SESSION['user2'] = $wiersz['nazwisko'];

                    unset($_SESSION['blad']);
                    $rezultat->free_result();
                    header('Location: /index.php');
                }
                else
                {
                    $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
                    header('Location: index.php');
                }

            } else {

                $_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
                header('Location: index.php');

            }

        }

        $polaczenie->close();
    }

?>

 

komentarz zamknięcia: Dziękuję za odpowiedzi, już rozwiązane

2 odpowiedzi

0 głosów
odpowiedź 31 grudnia 2020 przez CubeStorm Pasjonat (15,020 p.)
wybrane 31 grudnia 2020 przez MateuszSikorski
 
Najlepsza

Przede wszystkim przy rejestracji musisz wymagać od użytkownika podania emaila, najlepiej jeszcze wymagać, aby w bazie mógł istnieć tylko jeden taki email - każdy był unikatowy. Następnie w tym skrypcie, którego kod podesłałeś podmienić login na email.

Widzę, że korzystasz z mysqli jest ono dość przestarzałem i mniej bezpieczne od PDO, z którego polecam zacząć korzystać.

I też widzę, że korzystasz z @, w celu zatuszowania errorów. Jeśli się mylę to niech mnie ktoś poprawi, ale z tego co się orientuję to w najnowszym php8 zostało to usunięte. Aczkolwiek czy zostało usunięte czy nie to i tak nie jest dobre dla jakości kodu. Wyjątki powinny być łapane i odpowiednio obsługiwane.

 

Jeśli bardzo zależy ci na jakości kodu to polecam zapoznać się z tym tutorialem: tutorial, a wcześniej oczywiście z tematem obiektowości php.

komentarz 31 grudnia 2020 przez MateuszSikorski Obywatel (1,070 p.)
Mam maile w bazie danych, przy rejestracji je podają
komentarz 31 grudnia 2020 przez MateuszSikorski Obywatel (1,070 p.)
Dzięki bardzo za pomoc :)

Jakby coś nie działało to napisze
–1 głos
odpowiedź 31 grudnia 2020 przez niezalogowany

Logowanie za pomocą adresu e-mail nie należy do bezpiecznych rozwiązań...enlightenedindecision

Pozdrawiam

1
komentarz 31 grudnia 2020 przez kubaapk Nałogowiec (44,270 p.)
Dlaczego?
komentarz 31 grudnia 2020 przez niezalogowany

Kiedy hacker zna twój adres e-mail ma już połowę informacji potrzebuje tylko hasła ...

https://www.rd.com/list/what-hackers-can-do-with-email-address/

 

Adres e-mail nigdy nie miał być środkiem identyfikacji, ale środkiem komunikacji wink

komentarz 31 grudnia 2020 przez MateuszSikorski Obywatel (1,070 p.)
U mnie na imię nie działa bo wystarczy druga osoba z takim samym imieniem i stare konto już nie działa
komentarz 31 grudnia 2020 przez CubeStorm Pasjonat (15,020 p.)

@niezalogowany, O nie! Google.com w niebezpieczeństwie! Facebook, YouTube, Gmail wszystkie te serwisy korzystają z emaila przy logowaniu! Kto ich pierwszy ostrzeże?

komentarz 31 grudnia 2020 przez MateuszSikorski Obywatel (1,070 p.)
Hahaha

Podobne pytania

0 głosów
1 odpowiedź 308 wizyt
0 głosów
1 odpowiedź 902 wizyt
pytanie zadane 3 listopada 2020 w PHP przez EmPeeEm Nowicjusz (200 p.)
0 głosów
0 odpowiedzi 747 wizyt
pytanie zadane 2 kwietnia 2021 w HTML i CSS przez Nearr Obywatel (1,890 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...