| | |
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 08.03.09 Prihlásený: 30.04.12 Príspevky: 13 Témy: 8 | Napísal gogy27: 06.04.2012 11:59 | |
|
Mám menši problém.
Nasledujúci kód mi aj napriek správne zadanému e-mailu vyhodi chybnú hlášku: zle zadaný e-mail:
Kód: $email = htmlspecialchars(addslashes($_POST["email"])); if (!ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]",$email)) { $chyby.="Nesprávne vyplnený e-mail<br>"; }
Môže byť chybou práve tie funkcie: htmlspecialchars respektíve addslashes (používam ich samozrejme na ochranu proti sql útokom.
|
|
Registrovaný: 14.04.09 Prihlásený: 18.01.22 Príspevky: 1188 Témy: 198 |
1. ereg je zastaraly a nemal by si ho pouzivat:
php.net píše: Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
radsej pouzivaj preg_match().
Tu k nej mozes najst nieco slovenske: http://lamp.fornax.sk/jazyky/php/regularne_vyrazy/
2. Na kontrolu emailu existuje v PHP funkcia:
Kód: filter_var($email, FILTER_VALIDATE_EMAIL)
Vracia TRUE, pokial ma email spravny tvar.
3. Ochranu pouzivaj az potom, ako email skontrolujes, ci ma spravny tvar. Miesto adslashes je lepsia ochrana mysql_real_escape_string(). A htmlspecialchars() je zbytocne, aj tak by to nepreslo cez filter. Albo by som to pouzil az pri vypise.
_________________ CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m |
|
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|