[MySQL][PHP] Poprawione błędy i prośba o sprawdzenie kodu :) |
[MySQL][PHP] Poprawione błędy i prośba o sprawdzenie kodu :) |
14.10.2020, 11:57:03
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 29.08.2020 Ostrzeżenie: (0%) |
Cześć wszystkim, ostatnio pewna osoba której bardzo dziękuje pokazała mi błąd w moim kodzie PHP. Zajrzałem do dokumentacji i wywnioskowałem następujące wnioski, iż do poprawnego prepare trzeba podstawić wartości za pomocą bind(). Czy Była by dobra duszyczka i sprawdziła czy wszystko dobrze zrobiłem oraz wysłałem przykładowy kod logowania oraz pokazywania jakiś informacji i czy również jest to zrobione w bezpieczny sposób? Czy też mam coś pozmieniać. Z góry dziękuje
Kod z błędem:
Kod poprawiony:
Kod logowania:
Wiadomo, do tego mam jeszcze sprawdzanie kodu do logowania 2-etapowego ale czy wszystko jest poprawnie zrobione i co najważniejsze BEZPIECZNIE? Przykładowe połączenie do wypisania tabeli na stronie z bazy:
Z góry dziękuję za wszelką pomoc Ten post edytował gloweres 14.10.2020, 12:00:59 |
|
|
14.10.2020, 12:13:07
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Ale nie wszędzie masz prepared statements. Tam, gdzie użyłeś bindParam, ładnie podstawiłeś, chociaż przyczepię się trzech rzeczy:
1. Dlaczego nazywasz pola formularza "1" i "2"? 2. Nie wiem dlaczego ludzie nadużywają bindParam(). Interesuje Cię raczej bindValue(), bo to pierwsze wiąże wartość z referencją, a nie wartością na dany moment. Poczytaj o tym. 3. PDO::PARAM_STR to domyślna wartość, możesz to pominąć, bo wiadomo, że domyślnie jest string. |
|
|
14.10.2020, 12:16:32
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Cytat 'SELECT * FROM account WHERE email="'.$email.'"'; Dlaczego tu już nie ma bindowania? Czemu nie zastosujesz wyjątków zamiast ifów? Dalczego zezwalasz na wiele takich samych maili? W logowaniu iterujesz po wszystkich a i tak korzystasz z ostatniego. Czemu id_user jest w zapytaniu traktowany jako string? Naucz się że zawsze bindujesz parametry nawet jak sam je generujesz, będziesz bezpieczniejszy. Co jeśli mail nie dojdzie? -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 22:51 |