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

Czy mój system logowania bez bazy danych jest wystarczająco bezpieczny?

VPS Starter Arubacloud
0 głosów
629 wizyt
pytanie zadane 6 marca 2018 w Bezpieczeństwo, hacking przez Mikołaj Chodorowski Nowicjusz (140 p.)

Hej wszystkim! 
Chciałbym się dowiedzieć czy system, który zrobiłem w wolnej chwili nadaje się do użytku na stronach z ssl'em i na ile jest bezpieczny :) 

Wszystkie pliki znajdziecie tutaj: Klik

System składa się z pięciu plików: 

- Index.php (Formularz logowania) 
- Main.php (Strona dostępna tylko dla zalogowanych)
- Check.php (Sprawdzanie czy w pliku users.php znajduje się użytkownik o xyz wytycznych)
- Logout.php (Wylogowywanie)
- Users.php (Lista użytkowników i haseł opartych na tablicach)

Dodam jeszcze, że wszystko pracuje na sesjach a stworzyłem to tylko po to ponieważ potrzebuje zrobić stronę dla około 30 osobowej grupy i nie chce wykorzystywać bazy danych do tego :)
*Brak możliwości rejestracji jest zabiegiem celowym.
*Skrypt można powiększyć o kilka dodatkowych informacji np. Wiek itd. 

Moje pytanie czy ten skrypt da się obejść lub podejrzeć hasła w jakiś prosty sposób? (coś jak wstrzykiwanie sql)
Strona oczywiście jak już wspomniałem będzie pracowała na protokole https :) (zdefiniowane w .htaccess)

3 odpowiedzi

0 głosów
odpowiedź 6 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
edycja 6 marca 2018 przez Paweł Antyporowicz

Przy drugim ifie skrypt leży, ponieważ użyłeś operatora porównania ==, czyli jak ktoś użyje tego hasła podobnego np qwerty123 a prawidłowe hasło wygląda QWERTY123,  to skrypt przejdzie. W php musisz używac operatora ===, wtedy zmienne porównywane muszą być identyczne, żeby warunek się spełnił. Poza tym to sprawdzasz pętla każdy indeks w tablicy co jest mało wydajne. Lepiej użyć funkcji in_array. Jeszcze jedno struktura tablic przechwujace dane jest fatalna :D możesz stworzy jedna tablicę asocjacyjną, w ktorej przechowywane są dane. Możesz na poczarek sprawdzić czy nazwa użytkownika istnieje jeżeli tak to sprawdzasz dalej hasło.

komentarz 6 marca 2018 przez Comandeer Guru (599,730 p.)

Przy drugim ifie skrypt leży, ponieważ użyłeś operatora porównania ==, czyli jak ktoś użyje tego hasła podobnego np qwerty123 a prawidłowe hasło wygląda QWERTY123,  to skrypt przejdzie.

Nieprawda. QWERTY123 i qwerty123 to dwa różne stringi i żaden operator ich nie przepuści → https://3v4l.org/YsX1e 

komentarz 6 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Przepraszam za wprowadzenie w błąd.
0 głosów
odpowiedź 6 marca 2018 przez event15 Szeryf (93,790 p.)
Oczywiście, że nie - a password hash to co?
komentarz 6 marca 2018 przez Mikołaj Chodorowski Nowicjusz (140 p.)
Po co mam hashować hasła skoro strona jest dla określonej grupy osób?
komentarz 6 marca 2018 przez event15 Szeryf (93,790 p.)
Chociażby po to żeby zabezpieczyć się przed brute force.
–1 głos
odpowiedź 6 marca 2018 przez Ehlert Ekspert (212,630 p.)
Ogólnie w kodzie anarchia, zarówno pod względem logicznym, jak i semantycznym. Nie wiem po co unikać bazy danych. Praktyka z definiowaniem użytkownika na sztywno to zabieg charakterystyczny tylko dla konta admina.

Podsumowując ten fragment kodu to sposób programowania od którego trzeba uciekać.

Podobne pytania

0 głosów
1 odpowiedź 381 wizyt
pytanie zadane 16 kwietnia 2017 w PHP przez Kacper Duda Obywatel (1,970 p.)
0 głosów
3 odpowiedzi 749 wizyt
pytanie zadane 8 sierpnia 2017 w PHP przez Gorlik1337 Użytkownik (610 p.)
0 głosów
1 odpowiedź 209 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...