Wiktor P.
22.12.2009, 11:53:32
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 ?
erix
22.12.2009, 11:56:14
Najlepiej walidować oba naraz. W JS - dla wygody użytkownika, w PHP - dla bezpieczeństwa.
vokiel
22.12.2009, 11:57:21
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.
Pilsener
22.12.2009, 13:19:29
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ść.
erix
22.12.2009, 13:31:47
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.
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.