![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak w temacie, potrzebuję potwierdzenia że idę w dobrym kierunku.
Na bazie kilkunastu przeczytanych postów i artykułów zbudowałem funkcję walidującą stringi przed podaniem ich do zapytania. Proszę o jej sprawdzenie. Czekam na surową i konstruktywną krytykę ze wskazaniem ewentualnych błędów w rozumowaniu:)
Ten post edytował lukasz_matysek 19.05.2010, 17:41:56 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzisiaj to już komuś pisałem - nie wrzucaj danych do bazy z htmlspecialchars. Po drugie ta funkcja moim zdaniem nie jest ldobra, bo ingeruje sama w całą tablicę $_POST. Nie lepiej podawać jej każdą zmienną jawnie, osobno i używać jej dopiero w zapytaniu?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Co do specialchars to się zgodzę, jednak wyjaśnij mi, dlaczego działanie na całej tablicy POST nie jest dobre? z punktu widzenia kodu, lepiej jest dać raz preparePostTable() i potem normalnie zczytywać sobie z posta już przetworzone wartości. Przynajmniej tak ja to widzę
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na pewno wygodniej i bezpieczniej o tyle, że nie zapomnisz o żadnej wartości. Jednak tracisz całą kontrolę. Inaczej obsłużyłbym np. dane liczbowe (intval( )) czy zmiennoprzecinkowe (floatval( )). Istnieje też niebezpieczeństwo, że z jakiegoś powodu funkcja zostanie wywołana dwa razy. Twoja funkcja to tzw. funkcja działająca w miejscu, przeważnie ich używanie nie jest dobrym rozwiązaniem.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 2 Dołączył: 25.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem. Zatem czekają mnie lekkie przeróbki. Dzięki za pomoc.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
dodaje jeszcze ochronę przed ldap injection, xpatch injection etc :| dane filtruje się zgodnie z ich przeznaczeniem, a nie wszystkimi możliwymi funkcjami po co mysql_re... jeśli zmienna nie będzie leciała do bazy tylko na stronę?
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 04:35 |