Einzelnen Beitrag anzeigen
  #1  
Alt 26.12.2010, 03:15:06
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
Regex für e-mail oder php filter verwenden?

Hallo liebe gemeinde.

Ich arbeite gerade (Trotz der zweifel das es ohne oop durchsetzbar ist) an einem teil meines frameworks der für die filterung von eingaben zuständig ist.

Nun stellt sich mir beim e-mail filter so die ein oder andere frage was erlaubte zeichen angeht...

(Überprüfung ob mx eintrag für die domain vorhanden ist steht schon :D um sicher zu sein das sie wenn nur erlaubte zeichen benutzt wurden auch zu einem server gehört.)

//hier ein snippet ;)
PHP-Code:
list($user$domain) = split("@"$email);
if (
checkdnsrr($domain"MX")) {
}
..... 
Nun aber zur eigentlichen frage ;)

Mit einem kumpel zusammen bin ich möglicheiten durchgegangen mit denen man eine e-mail adresse auf gültige zeichen prüfen kann.

Dabei sind 2 regex pattern und validate_email zur sprache gekommen.

Regex 1:
PHP-Code:
$mailregex "/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/"
Regex 2:
PHP-Code:
$mailregex "/^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$"
oder wie erwähnt:

PHP-Code:
if(filter_var($urlFILTER_VALIDATE_EMAIL) === FALSE){
   return 
0;
 } 
Welche der drei wege würdet ihr wählen um Fake-adressen auszuschließen ?!
(Abgesehen davon ob der mailserver existiert bzw. mx eintrag für den server vorhanden ist)

Bei regex 2 bin ich mir so oder so nicht ganz sicher ob die dort vorhandenen sonderzeichen überhaupt verwendet werden dürfen, und regex 1 scheint mir zu flach um alle eventualitäten abzudecken. Bei FILTER_VALIDATE_EMAIL bin ich mir leider nicht sicher ob es mit jedem hoster funktioniert und wie groß die chance ist das ganze zu "überrumpeln".

Vielen dank für eure mühen schonmal im vorraus.

LG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten