Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Bezpieczeństwo formularza
mrk9109
post 2.09.2019, 09:53:43
Post #1





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


Witam dawno mnie tu nie było otóż mam pytanie odnośnie bezpieczeństwa formularza , mam napisany prosty kod który pobiera dane przesłane za pomocą metody POST i znalazł się użytkownik który edytuj sobie te dane na takie wartości jakie mu się podobają . I moja pierwsza myśl przepisać każdą zakładkę aby pobierał dane z bazy danych lecz było by to sporo roboty bo kodu jest dużo i znalazłem w sieci atrybut "readonly" tylko do odczytu i moje pytanie brzmi czy to rozwiąże mój problem ? jeżeli do każdego pola inpunt dodam to ? zablokuje mu to możliwość edycji pola inpunt które na dodatek jest hidden .
Go to the top of the page
+Quote Post
nospor
post 2.09.2019, 09:58:14
Post #2





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Zasada jest banalnie prosta - zapamietaj ja:
Wszystko co jest w przegladarce, jest do zmiany. Zadne readonly tu nie pomoze.

Jesli wiec jakas dana nie jest to edycji, to w zaden sposob jej nie wkladaj do forma a juz tym bardziej nei czytaj jej z forma. I juz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 2.09.2019, 10:00:17
Post #3





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


to chciałem wiedzieć czyli biorę się za przepisywanie smile.gif
Go to the top of the page
+Quote Post
viking
post 2.09.2019, 10:08:17
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Weź też pod uwagę że nawet nie potrzeba przeglądarki żeby cokolwiek wysłać - to tylko graficzna nakładka na żądania które w dowolnej przeglądarce możesz jednym klikiem wyeksportować.
Poczytaj też https://prophp.pl/advice/show/25/jak_zabezp...ql_injection%3F


--------------------
Go to the top of the page
+Quote Post
mrk9109
post 2.09.2019, 10:54:06
Post #5





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


używam mqsli biorę się za naukę dopiero PDO , ale mam jeszcze inne pytanie wszystkie dane mam już w bazie w formularzu mam jedynie id danego "mechanika" i teoretycznie i ten użytkownik może sobie zmienić z pola hidden id np: z 1 na 4 i wtedy pobierze mu dane innego mechanika ? jak to jeszcze ominąć

  1. <input type="hidden" name="id" value="<?= $id ?>" readonly>
Go to the top of the page
+Quote Post
viking
post 2.09.2019, 10:57:23
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Nie znam logiki projektu. Czy user może odczytać tylko swoich mechaników czy wszystkich? Jeśli pierwsze to w bazie powinieneś mieć odpowiednie powiązanie po id.


--------------------
Go to the top of the page
+Quote Post
mrk9109
post 2.09.2019, 11:05:56
Post #7





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


dzięki wrzuciłem jeszcze jedno zapytanie które sprawdza czy użytkownik ma wystarczająco punktów by podpisać kontrakt z swoich mechanikiem więc nawet jak zmieni id to te zapytanie go nie puści . Myślę że tego już nie przeskoczy i ciekawy artykuł mi dałeś mam do niego jedno pytanie co da mi taki zapis ?

  1. $id = (int) $_POST['id'];
Go to the top of the page
+Quote Post
nospor
post 2.09.2019, 11:09:46
Post #8





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Jesli dana wartosc ma byc liczba (INT) to bedziesz mial pewnosc ze to bedzie zawsze liczba a nie jakis tekst i/lub sql injection


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 2.09.2019, 11:10:05
Post #9





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


  1. var_dump((int) 'aaa');


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 11:00