![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 29.08.2020 Ostrzeżenie: (0%) ![]() ![]() |
Hej, zaprojektowałem proste logowanie 2-etapowe (na maila przychodzi kod do logowania po wpisaniu hasła).
Logowanie to jest używane tylko przez 2 osoby ale do bardzo wrażliwych danych więc mam następujące pytanie: czy jest bezpieczne? Może popełniłem jakiś błąd który może powodować "włam"? Dzięki z góry za odpowiedź ![]() login.php
verify_check.php:
Jeśli jest dobrze to proszę też o odpowiedź ![]() Ten post edytował gloweres 9.11.2020, 03:00:50 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Popraw wcięcia.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
jedynie bym usuwał użyte kody, nie ma sensu ich trzymać. Poza tym da się żyć, ale bez composera co to za życie
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 29.08.2020 Ostrzeżenie: (0%) ![]() ![]() |
jedynie bym usuwał użyte kody, nie ma sensu ich trzymać. Poza tym da się żyć, ale bez composera co to za życie ![]() Postanowiłem przechowywać je w bazie żeby mieć logi kto kiedy się logował (bo zapisuje id użytkownika, datę zalogowania oraz czy kod został wykorzystany) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
można by się przyczepić jeszcze do generowania samych kodów, istnieje prawdopodobieństwo powtórzenia się kodu, więc albo jak Pyton pisał usuwać, albo jakiś mocniejszy algorytm np GUID
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Ja jeszcze przed samym przypisaniem sesji wygenerowalbym nowe id sesyjne
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Postanowiłem przechowywać je w bazie żeby mieć logi kto kiedy się logował (bo zapisuje id użytkownika, datę zalogowania oraz czy kod został wykorzystany) Sam kod powinien mieć możliwy krótki czas życia np. 15min. Do logowania możesz mieć oddzielną tabelkę z historią i tam możesz sobie zapisywać ID usera, datę, i czy udane logowanie czy nie. Wtedy możesz nawet wykrywać że ktoś chce sobie powłamywać się. Co do kolizji kodów wspominany przez @gino to prawda. jest libka do php do generowania UUIDv4 (najbardziej randomowy) https://github.com/ramsey/uuid Ale jesli to jest taki prosty kod jak go pokazujesz to nie ma sensu szaleć. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
można by się przyczepić jeszcze do generowania samych kodów, istnieje prawdopodobieństwo powtórzenia się kodu Z takim ciagiem praktycznie niemozliwe -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Włącz sobie jeszcze pełne raportowanie błędów i popraw wszystko. Tak logicznie robisz też insert kodu który za chwilę może się wywalić na mail() i nic z tym nie robisz np rollback transakcji.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:00 |