Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dyskusja | Bezpieczeństwo aplikacji - Filtrowanie danych od użytkownika.
Forum PHP.pl > Forum > PHP
adbacz
Chciałbym rozpocząć małe tête-à-tête pomiędzy opiniami na ten temat smile.gif

Co sądzicie o tym, by w aplikacji domyślnie, zawsze filtrować dane pochodzące od użytkownika, a zwracać dane RAW tylko w tedy, gdy developer faktycznie tego chce? Przykład:
  1. // Zwróci filtrowane
  2. $name = $request->get('name');
  3. // Zwróci RAW
  4. $name = $request->getRaw('name');

Dodajemy tylko na końcu nazwy metody 'Raw', i zapobiegamy ewentualnym "zapominalskim" w filtrowaniu danych. Wiem, że powinno się tym pamiętać, bo to podstawówka, ale chodzi mi o same wady i zalety takiego rozwiązania. Jak na razie zauważyłem tylko jedno - 3 literki więcej w nazwie metody.

Jeśli ktoś nauczy się w danym narzędziu używać metody get(), to z przyzwyczajenia będzie jej używał, a gdy mu nie przejdzie to co chce to zauważy, i użyje getRaw(). W drugą stronę może być inaczej, bo jeśli przyzwyczai się do tego, że prosta metoda zwraca to co chce i zapomni testu, to przejdzie to dalej.

Ale to tylko moje gdybanie, może Wy macie inne zdanie na ten temat?
viking
Co rozumiesz przez filtrowanie? Jak przefiltrujesz numer telefonu a jak datę urodzenia?
Pyton_000
Bardziej ogólnie to jak przefiltrujesz każdy możliwy typ danych?
adbacz
Ok, mój błąd. Chodziło mi o wyrzucenie tagów HTML i zrobienie HTML Entities z resztą co zostanie złego.
Pyton_000
A jaki jest tego sens? Po co jest uczyć od razu człowieka że dostaje na tacy przefiltrowane? Ja bym raczej stosował odwrotnie. Zawsze raw, a dopiero jak potrzeba to filtry.
adbacz
[cite]Po co jest uczyć od razu człowieka że dostaje na tacy przefiltrowane?[/cite]
Bo ludzie to nygusy biggrin.gif Oczywiście nie wszyscy, ale jak połączysz takiego Pana, który zarządza projektem i chce szybko ogarnąć ten projekt, z Panem, który "szybko napisze ten projekt" to wiesz co z tego wychodzi...
Pyton_000
To się nie łączy takich Panów. Jak nie wiem to sie nie dotykam albo się pytam. Jeśli człowiek nie będzie wiedział co się dzieje pod spodem to niczego się nie nauczy i będzie bezmózgiem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.