Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pytanie o użycie funkcji walidującej input
sadistic_son
post 10.01.2023, 10:18:26
Post #1





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

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


Cześć. Załóżmy, że mam metodę/funkcję myValidateInput($input); której używam do oczyszczania inputów od usera z różnych (groźnych) śmieci. Jest dla mnie oczywiste że w poniższym kodzie trzeba jej użyć.
  1. echo myValidateInput($_POST['siema']);
  2. $name = myValidateInput($_POST['name']);
  3.  
  4. $query = "INSERT INTO `table` (`id`, `name`) VALUES (null, '$name')";
  5. $db->query($query);
  6. $db->execute();


A czy trzeba również przy użyciu isset, empty itd? Np tutaj jest to zasadne?
  1. if(isset(myValidateInput($_POST['submit'])){
  2. //coś tam
  3. }


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 10.01.2023, 10:27:28
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




Cytat
że mam metodę/funkcję myValidateInput($input); której używam do oczyszczania inputów od usera z różnych (groźnych) śmieci.

No i znowu nazewnictwo z 4 liter. Ile razy mozna o to prosic.
Albo walidujesz i wowczas validate to dobra nazwa, albo czyscisz a wtedy validate ma sie nijak to dotego robi funkcja

Naprawde, odpusc sobie czysczenie na tym etapie. Do niczego ci nie jest potrzebne tutaj. Zes sie uparl na to czyszczenie sam nie wiedzac po co ci ono jest potrzebne odnosze wrazenie

$query = "INSERT INTO `table` (`id`, `name`) VALUES (null, '$name')";
Lepiej przejdz wkoncu na BINDowanie, wiecej bedziesz mial z tego pozytku


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

"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 10.01.2023, 10:27:47
Post #3





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

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


No iu tez ile razy można pisać że ta ogólna funkcja walidująca jest do niczego a Ty masz zacząć korzystać z bindowania (które notabene wprowadziłeś w tej swojej klasie db).


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post 10.01.2023, 10:38:21
Post #4





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

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


Cytat(nospor @ 10.01.2023, 10:27:28 ) *
No i znowu nazewnictwo z 4 liter. Ile razy mozna o to prosic.
No ale gdzie? $_POST['name'] to jest błąd? Ma być np 'nameOfProduct' czy jak? Czy $db jest źle nazwane?

Cytat(nospor @ 10.01.2023, 10:27:28 ) *
Albo walidujesz i wowczas validate to dobra nazwa, albo czyscisz a wtedy validate ma sie nijak to dotego robi funkcja
Ok, got it. To mnie interesuje czyszczenie a nie walidacja.

Cytat(nospor @ 10.01.2023, 10:27:28 ) *
Naprawde, odpusc sobie czysczenie na tym etapie. Do niczego ci nie jest potrzebne tutaj. Zes sie uparl na to czyszczenie sam nie wiedzac po co ci ono jest potrzebne odnosze wrazenie

$query = "INSERT INTO `table` (`id`, `name`) VALUES (null, '$name')";
Lepiej przejdz wkoncu na BINDowanie, wiecej bedziesz mial z tego pozytku
Właściwie to bindowanie chyba mi rzeczywiście tutaj, w tym projekcie wystarczy, bo jedyne co robię z danymi z inputów to przetwarzam w pętli i wrzucam do bazy.


Cytat(viking @ 10.01.2023, 10:27:47 ) *
No iu tez ile razy można pisać że ta ogólna funkcja walidująca jest do niczego a Ty masz zacząć korzystać z bindowania (które notabene wprowadziłeś w tej swojej klasie db).
Nie mam obecnie żadnej metody czyszczenia danych. Po ostatnim temacie w tej sprawie zrezygnowałem z tego FILTER_SANITIZE_STRING bo mi wyjaśniłeś, że to jest o kant pośladków smile.gif


Czyli do bazy bindowanie styknie beż żadnego wrzucania POSTa w funkcje czyszczące, tak? Nie trzeba nawet htmlspecialchars robić?

Dzięki.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 10.01.2023, 10:42:23
Post #5





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




Cytat
No ale gdzie? $_POST['name'] to jest błąd? Ma być np 'nameOfProduct' czy jak? Czy $db jest źle nazwane?

Toc napisalem: myValidateInput. Niby funkcja sie nazywa VALIDATE a ty chcesz w niej robic CZYSCZENIE. No albo jedno albo drugie

Cytat
zyli do bazy bindowanie styknie beż żadnego wrzucania POSTa w funkcje czyszczące, tak? Nie trzeba nawet htmlspecialchars robić?

BINDowanie to podstawa. A htmlspecialchars masz robic do wyswietlania danych tekstowych


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

"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
sadistic_son
post 10.01.2023, 10:47:03
Post #6





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

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


OMFG biggrin.gif
Cytat(nospor @ 10.01.2023, 10:23:07 ) *
No i znowu nazewnictwo z 4 liter.

Ja to odbierałem cały czas, że chodzi o to że tworzę zmienne mające 4 lub mniej liter w nazwie, stąd są za mało jasne biggrin.gif A tobie chodzi o "nazewnictwo z dvpy" biggrin.gif



Cytat(nospor @ 10.01.2023, 10:42:23 ) *
BINDowanie to podstawa. A htmlspecialchars masz robic do wyswietlania danych tekstowych

Clear. Thanks smile.gif


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 10.01.2023, 10:58:09
Post #7





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




Cytat
A tobie chodzi o "nazewnictwo z dvpy"

Haha, dobrze ze wkoncu zatrybiles biggrin.gif


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

"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

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: 27.04.2024 - 04:28