Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] preg_match a polskie litery i klasy znaków
bartu$
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.06.2004

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


Szukam sposobu jak zabezpieczyć pole z imieniem i nazwiskiem przed email header injection.

Pole to sklejam w nagłówku maila:
Reply-to: Imie i nazwisko <adres@email.pl>

Adres email to osobne pole. Mi chodzi tylko o imie i nazwisko.
Pomyślałem o preg_match i klasie znaków. W końcu może się zdarzyć obcojęzyczne imie i nazwisko.

Mój pomysł:
  1. preg_match('/[[:alnum:] ]+/u', "ĘÓĄŚŁŻŹĆŃ ęóąśłżźćń");


Działa (IMG:style_emoticons/default/smile.gif) Ale czytam w dokumentacji php.net, że
Cytat
In UTF-8 mode, characters with values greater than 128 do not match any of the POSIX character classes.


Polskie znaki mają wyższy kod niż 128 a mimo wszystko działa.

1. Zastanawiam się czy to nie przypadek?
2. Jeśli to przypadek to jak Wy zabezpieczylibyście to pole?

Ten post edytował bartu$ 2.12.2012, 12:31:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sebek87
post
Post #2





Grupa: Zarejestrowani
Postów: 74
Pomógł: 24
Dołączył: 21.10.2012
Skąd: Puławy

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


Ja to robię tak:
  1. preg_match('/^[a-zĄĆĘŁÓŚŻŹąćęłóśżź ]+$/iu', $string)


Ten post edytował Sebek87 2.12.2012, 16:10:46
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 19:26