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
bartu$
post
Post #2





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

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


Bardziej chciałbym się dowiedzieć od kogoś kto lepiej zna temat - czy klasy znaków które można używać w funkcjach typu preg_* uwzględniają polskie znaki.
Bo mi wychodzi, że tak a dokumentacja mówi wprost przeciwnie i jasno.
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(bartu$ @ 2.12.2012, 16:14:51 ) *
czy klasy znaków które można używać w funkcjach typu preg_* uwzględniają polskie znaki


Tak jeśli uwzględnisz to poprzez sekwencje lub modyfikatory. http://pl1.php.net/manual/en/reference.pcr...tern.syntax.php

@Crozin - racja, pomyliłem to ze zmianą znaków.

Ten post edytował !*! 2.12.2012, 16:23:37
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: 3.10.2025 - 21:25