Chcę w formularzach uniemożliwić wprowadzanie 4 znaków:
’ " < >
Oczywiście w temacie bezpieczeństwa. Zamiana znaków na encje mnie nie urządza, urywanie ich i wprowadzanie reszty do bazy również. Chcę aby w przypadku wystąpienia takiego znaku wyświetlił mi się komunikat, że użyto niedozwolonych znaków. Czy jest na to jakaś inna metoda niż “ręczne” wklepanie procedury typu:
wybierz string
szukaj znaków
zwróć błąd?
JS odpada, chcę zabezpieczyć serwis od strony serwera. Klient może sobie wyłączyć obsługę JS i całe zabezpieczenie bierze w łeb.
Oczywiście masz racje. Jednak jeżeli już ktoś tak kombinuje to i więcej wykombinuje, a po co z takimi walczyć. Większość stron ma teraz js, ja chociażby dodaje seletivzera czy html5shiv wiec zablokowanie js od razu cala stronę może posypać. Wydaje mi się ze blokada w js będzie lepsza dla większości użytkowników no i od razu masz mnie requestow do serwera nie potrzebnych.
Masz racje. Ja osobiści akurat nie musiałem po stronie serwera tego stosować, gdyż ostatni projekt jaki robiłem to był kalkulator (aktów notarialnych i wykończenia mieszkania) dla dewelopera wiec zależało mi tylko na zablokowaniu wszystkiego poza cyferkami
Wg mnie JS powinien być tylko dodatkiem ułatwiającym życie. Jeżeli user może łatwo wyłączyć zabezpieczenia (albo może mieć je wyłączone nieświadomie) to nie jest to takie zabezpieczenie jest niewiele warte. Dlatego preferuję jednak sprawdzanie po stronie serwera.
Wymodziłem sobie taką funkcję, która w zupełności mi wystarcza i mogę sobie ją użyć wielokrotnie bez powtarzania kodu: