Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]zabezpieczenie przed niechcianymi danymi
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cześć,

Jest sobie formularz wyświetlający select oraz inputy, zależne od wartości wybranej w select - realizuje to skrypt javascript.
Te inputy które mają być niewidoczne mają display:none.
Dane z formularza wędrują do bazy. Dla przykładu:
- jeśli user wybierze w select 'dvd' to wyświetli mu się input do wpisania rozmiaru w MB. Do bazy wędruje więc wpis do tabeli PRODUCTS_PROPERTIES zawierający id DVD oraz id PROPERTY (czyli MB).
- jeśli wybierze 'mebel' to wyświetli mu 3 inputy - 'szerokość', 'długość' i 'wysokość'. Tutaj do bazy wędrują 3 wpisy do PRODUCTS_PROPERTIES - id zawierający MEBEL i id PROPERTY. Raz dla szerokości, raz dla długości i raz dla wysokości.

User trochę cwańszy od przedszkolaka może mi wysłać formularz gdzie wrzuci w input DVD oraz SZEROKOŚĆ i WYSOKOŚĆ. Stworzy to bzdurne wpisy oczywiście.
Nawet jeśli zmienię skrypt JS, żeby nie generował inputów, które obecnie sa po prostu ukryte, to nadal da się przecież wysłać formularz zawierający inne pola niż ten co wyświetlam.

Jak się przed tym ochronić?

Ten post edytował sadistic_son 4.01.2023, 13:45:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Dobra, czyli kombinuję tak...

tabela PRODUCT:
id | name | type
1 | Rambo | dvd
2 | Stół | mebel

tabela PROPERTIES:
id | name | type
1 | size | dvd
2 | width | mebel
3 | height | mebel
4 | length | mebel


Jeśli user w select wybrał 'dvd' to porównuję PRODUCT.TYPE z PROPERTIES.TYPE i jeśli jest taki sam to zezwalam na wpis do tabeli łącznikowej PRODCT_PROPERTIES? Dobrze kombinuję?

Ten post edytował sadistic_son 4.01.2023, 13:56:09
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 10:50