![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 249 Pomógł: 0 Dołączył: 22.12.2011 Ostrzeżenie: (10%) ![]() ![]() |
Mam właśnie pytanie odnośnie bezpieczeństwa w języku HTML 5. Dajmy na to że na stronie mam formularz rejestracyjny a w inputach mam required z np. atrybutem pattern jak w przykładzie:
I teraz pytanie czy jest to bezpieczne jeśli nie posiadam żadnej funkcji w PHP do walidacji danych z inputów? Czy ktoś może wysłać jakimś programem POSTa z danymi tak aby obejść zabezpieczenie pattern w inpucie? Bo jeśli tak można to ktoś może z łatwością wysyłać kody PHP lub JS. Ten post edytował MESSIAH :) 16.08.2016, 17:00:53 -------------------- TERA TRYBI.pl
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam właśnie pytanie odnośnie bezpieczeństwa w języku HTML 5. Dajmy na to że na stronie mam formularz rejestracyjny a w inputach mam required z np. atrybutem pattern jak w przykładzie: I teraz pytanie czy jest to bezpieczne jeśli nie posiadam żadnej funkcji w PHP do walidacji danych z inputów? Czy ktoś może wysłać jakimś programem POSTa z danymi tak aby obejść zabezpieczenie pattern w inpucie? Bo jeśli tak można to ktoś może z łatwością wysyłać kody PHP lub JS. Wysłać możesz co chcesz. To nie html odbiera te dane tylko PHP (np). To są pomocnicze funkcję tak aby użytkownik wiedział w jakiej formie powinnien wprowadzić dane (np. nr telefonu). A nie do zabezpieczenia formularzy |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 249 Pomógł: 0 Dołączył: 22.12.2011 Ostrzeżenie: (10%) ![]() ![]() |
Czyli najlepszym wyjściem jest walidacja poprzez PHP tak jak myślałem. Więc jaka jest najlepsza funkcja do "oczyszczania" danych?
-------------------- TERA TRYBI.pl
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale Ty masz problemy... Zawsze, ale to zawsze walidacja powinna być po stronie serwera. Po stronie klienta pozwoli w dużej części odsiać głupoty ale przed niczym nie zabezpieczy. Jak sam wspomniałeś można sobie np. CURLem wysłać request i na nic zabezpieczenia.
Czym filtrować? To zależy co. preg_match, rzutowanie, sprawdzanie wartości w tablicy itd itd. Rozwiązań tyle ilu programistów. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
W specyfikacji HTML5 jest osobna sekcja poświęcona bezpieczeństwu formularzy:
Cytat Servers should not rely on client-side validation. Client-side validation can be intentionally bypassed by hostile users, and unintentionally bypassed by users of older user agents or automated tools that do not implement these features. The constraint validation features are only intended to improve the user experience, not to provide any kind of security mechanism. I tak, składam żądania HTTP poza przeglądarką i to dość często (patrz: cURL choćby). -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 249 Pomógł: 0 Dołączył: 22.12.2011 Ostrzeżenie: (10%) ![]() ![]() |
Panowie pytam bo spotkałem akurat takich magików co w HTML 5 używają inputów bez walidacji a walidację czy input jest pełny zrobili w PHP. Jak dla mnie to idiotyzm sprawdzać w PHP inputa na zawartość kiedy lepiej przerzucić to na HTMLa.
-------------------- TERA TRYBI.pl
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak dla mnie to idiotyzm sprawdzać w PHP inputa na zawartość kiedy lepiej przerzucić to na HTMLa. Przeczytaj ten fragment ze specyfikacji HTML5. Jeśli dalej jest to dla Ciebie idiotyzm, przeczytaj jeszcze raz. Formularze w HTML-u to nic innego jak forma GUI na żądania HTTP. Jak wiadomo, w systemie operacyjnym GUI można ominąć i klupnąć wszystko w konsoli. Tak samo można i w Sieci. Wcale nie muszę używać formularza, żeby przesłać do Twojej strony dane. Tym samym bez walidacji po stronie serwera mogę przesłać co chcę. Raj dla wszelkiego rodzaju ataków SQLi (no chyba że używasz prepared statements!), niespójności bazy danych (nagle w polu na e-mail dostaniesz biblię Gutenberga) czy XSS. -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
w html walidacja jest po to żebyś mógł sobie ładnie ostylować jak przypadkiem się ktoś pomyli, a nie do zabezpieczania przed niczym. W przeglądarce wykona Ci się od razu a do serwera musisz czekać na odpowiedź, ale to nie służy zabezpieczaniu niczego
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Najprostszy sposób. Firebug, usuń atrybut (czyli twoje pattern), wyślij formularz. Dalej sądzisz że jest to głupota?
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:39 |