Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][PHP][JavaScript]Walidacja formularzy - w JS czy w PHP ?, Czy walidacja poprzez JS jest bezpieczna ?
Wiktor P.
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 9
Dołączył: 14.09.2009

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


Witam!

Ostatnio dużo się nasłuchałem, że formularze powinno się walidować przez JavaScript lub AJAX.
To zapewnia przede wszystkim sprawdzenie formularza, zanim strona się przeładuje.
Ale jest jedno 'ale': mianowice, co jeśli JS będzie w przegladarce wyłączone ?
Czy lepiej jest walidować formularze po stronie przegladarki, czy po stronie serwera ?
Co myślicie ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Najlepiej walidować oba naraz. W JS - dla wygody użytkownika, w PHP - dla bezpieczeństwa.
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Z walidacji po stronie serwera nie rezygnujesz nigdy(!). Możesz dodatkowo weryfikować w js po stronie przeglądarki, jako bonus. Ale po stronie serwera weryfikujesz zawsze, każde dane pochodzące od użytkownika są potencjalnie niebezpieczne.
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


1. Można walidować tylko po stronie użytkownika jeśli są to dane, których złe wprowadzenie nie wpływa na bezpieczeństwo skryptów/bazy a jedynie na samopoczucie samego użytkownika, choćby pisownia imion/nazwisk, po co ktoś miałby obchodzić zabezpieczenia by przemycić do bazy nazwisko z małej litery? Mając dobry framework powinniśmy takie rzeczy załatwiać automatycznie, np. tworzymy input o nazwie "pole24_nazwisko" i automatycznie nam to waliduje jako nazwisko w PHP czy JS. Oczywiście to żadne zabepieczenie, bo wystarczy zmienić nazwisko na np. nrtel czy skasować i już można przemycić co innego, ale taką walidację robimy szybko i łatwo właśnie dla wygody użytkownika zakładając, że nie będzie on sabotował własnego systemu.

2. Lepiej jest robić wszystko w PHP, tak jest moim zdaniem łatwiej i zawsze działa niezależnie od przeglądarki i tego, czy user ma wyłączoną obsługę JS czy nie. Nieprzewidywane jest też działanie różnego rodzaju add- blokerów. W JS tylko różnego rodzaju nakładki/ulepszenia nie wpływające na podstawową funkcjonalność.
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
dla wygody użytkownika zakładając, że nie będzie on sabotował własnego systemu.

I to jest błędne założenie - należy zakładać, że KAŻDY użytkownik chce uwalić naszą aplikację. Smutna prawda, ale jeśli zabezpieczenia mają być dobre, to trzeba wyjść z jak najgorszego założenia.

Analogicznie do everybody lies. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 22:30