| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
macth
Dołączył: 06 Sie 2004 Posty: 6

|
Wysłany: 11.07.2008 03:56:29 Temat postu: Maksymalnie jedna spacja w zmiennej |
|
|
Chodzi mi o coś takiego:
Człowiek podaje w formularzu imię i nazwisko. I chciałbym je teraz sprawdzić... No bo wiadomo, że dane te nie powinny mieć np. znaków !@#$%^& oraz cyfr. Więc znalazłem rozwiązanie:
| Kod: | $dopuszczalne_znaki = '/^[a-zA-Z]+$/D';
if (!(preg_match($tekst_znaki, $_POST['nazwisko']))) { echo 'Próbujesz wykonać nieprawidłową operację'; } |
No ale teraz trafi mi się delikwent posiadający nazwisko np. "Kowalski-Zając", a nie daj Boże razem z kompletem imion np. "Karol Zenek" (czyli "Karol Zenek Kowalski-Zając")" i powyższe się już nie sprawdza... Jeżeli rozszerzę $dopuszczalne_znaki
| Kod: | | $dopuszczalne_znaki = '/^[a-zA-Z\s\-]+$/D'; |
to wtedy mogę podawać imiona oddzielone spacją bądź dwuczłonowe nazwiska, ale pojawia się znowu kolejny problem. Jakiś żartowniś może podać jako imię "Jan Marek Armando Ramirez Huan", albo nazwisko "Nowak-------Zając"...
W jaki sposób zrobić ograniczenie możliwości użycia myślnika lub spacji tylko do jednego razu??
Pozdrawiam |
|
| Powrót do góry |
|
 |
ForumAdmin Forum Admin

Dołączył: 22 Gru 2003 Posty: 386

|
|
| Powrót do góry |
|
 |
eropress
Dołączył: 14 Lis 2009 Posty: 4 Skąd: Giżycko

|
Wysłany: 14.11.2009 23:41:23 Temat postu: |
|
|
Przede wszystkim, nie ma co się bawić w przesadne filtrowanie* wprowadzanych danych, bo użytkownik, jak zechce, to i tak to obejdzie.
I to jest bez znaczenia.
Gorzej, jeżeli system zatrzyma prawidłowo wprowadzaną informację, bo twórca zabezpieczenia nie przewidział akurat takiej sytuacji.
*) oczywiście ogólnie filtrować trzeba, ale raczej uważając na bezpośrednie ataki na bezpieczeństwo. Nie ma sensu robić systemu "mądrzejszego" od użytkownika, bo może to się zemścić w przyszłości. Ot, np. człowiek się zniechęci. _________________ Pozdrawia Giżycko, Mazury. |
|
| Powrót do góry |
|
 |
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|