Forum DMK project - forum użytkowników Strona Główna
 
Rejestracja
 
Forum DMK project - forum użytkowników Strona Główna FAQ Szukaj Użytkownicy Grupy Profil Zaloguj się, by sprawdzić wiadomości Zaloguj
 
Maksymalnie jedna spacja w zmiennej

 
Napisz nowy temat   Odpowiedz do tematu    Forum DMK project - forum użytkowników Strona Główna -> PHP
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
macth



Dołączył: 06 Sie 2004
Posty: 6


PostWysłany: 11.07.2008 03:56:29    Temat postu: Maksymalnie jedna spacja w zmiennej Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
ForumAdmin
Forum Admin


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


PostWysłany: 18.07.2008 22:27:31    Temat postu: Odpowiedz z cytatem

Poczytaj to: http://forum.php.pl/index.php?showtopic=37856 - na pewno ci się przyda Very Happy
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość  
eropress



Dołączył: 14 Lis 2009
Posty: 4
Skąd: Giżycko


PostWysłany: 14.11.2009 23:41:23    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum DMK project - forum użytkowników Strona Główna -> PHP Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
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