Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dyskusja | Bezpieczeństwo aplikacji - Filtrowanie danych od użytkownika., Zawsze przez aplikację, czy indywidualnie przez programistę?
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


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?
Go to the top of the page
+Quote Post
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Co rozumiesz przez filtrowanie? Jak przefiltrujesz numer telefonu a jak datę urodzenia?


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Bardziej ogólnie to jak przefiltrujesz każdy możliwy typ danych?
Go to the top of the page
+Quote Post
adbacz
post
Post #4





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Ok, mój błąd. Chodziło mi o wyrzucenie tagów HTML i zrobienie HTML Entities z resztą co zostanie złego.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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.
Go to the top of the page
+Quote Post
adbacz
post
Post #6





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


[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...
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


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.
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 Aktualny czas: 21.08.2025 - 18:18