Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Funkce v PHP, která odstraní všechny nealfanumerické znaky (s podporou unicode)

Zdravím, řeším problém se zabezpečením php formuláře. Potřebuji ze vstupu uživatele odstranit všechny nealfanumerické znaky, které se tam nějak ocitnou, ale se zachováním unicode znaků typu ruštiny, smajlíků apod. Jednoduchá verze takové funkce je


preg_replace('/[^\da-z ]/i', '', $retezec)

která ovšem nechá pouze alfanumericke ascii, což už dnes nestačí.

Poradíte mi, prosím? Díky.

Předmět Autor Datum
Zkus tohle: preg_replace('/[^\p{L}\p{N}]+ /u', '', $retezec); Ale pokud jde o smajlíky, tak to už…
Wikan 26.02.2024 18:28
Wikan
Dík za odpověď. Funkci jsem tam vpálil, ale nedělá vůbec nic ... Samozřejmě o smajlíky nejde, jde…
LamaLama 26.02.2024 19:59
LamaLama
No výsledek samozřejmě taky musíš někam uložit. Stejně jako u toho, co jsi tam měl původně. Pokud jd…
Wikan 26.02.2024 20:03
Wikan
Ano, samozřejmě jsem výsledek někam uložil. Obsah formuláře jsem prohnal tou funkcní a někam uložil,…
LamaLama 26.02.2024 20:08
LamaLama
A co bylo v tom formuláři? Nějaké "závadné" znaky?
host 26.02.2024 20:12
host
Aha, drobná chybka: preg_replace('/[^\p{L}\p{N} ]+/u', '', $retezec);
Wikan 26.02.2024 20:20
Wikan
A ve smyslu zabezpečení čeho? HTML? Nestačí htmlspecialchars? https://www.php.net/manual/en/function…
kacikac 26.02.2024 18:51
kacikac
Dík za odpověď. Ve smyslu zabezpečení všeho, prostě aby nikdo, ani různé boty, co formuláře neustál…
LamaLama 26.02.2024 20:01
LamaLama
Na zabezpečení všeho to určitě stačit nebude, ale tobě to určitě stačit bude :-) poslední
kacikac 26.02.2024 20:30
kacikac

Dík za odpověď.

Funkci jsem tam vpálil, ale nedělá vůbec nic ...

Samozřejmě o smajlíky nejde, jde o to, aby tím uživatel za žádných okolností nemohl natropit žádnou neplechu, například v databázi, kam se to vkládá.

Mimochodem, mám na to takový řetězec, kterým to testuju, tak ten by asi taky potřeboval vylepšit, aby pokrýval více možností ...


Příliš žluťoučký kůň úpěl ďábelské ódy.
Vypätá dcéra grófa Maxwella s IQ nižším ako kôň núti čeľaď hrýzť hŕbu jabĺk.
Успенский собор закрыт.
,.-?:_<>*kuk!][]
AHOJ NAZDAR.

Zpět do poradny Odpovědět na původní otázku Nahoru