Fehler bei Emailadresse (Benutzerverwaltung)

Started by Broesel01, January 06, 2016, 08:48:01 PM

Previous topic - Next topic

Broesel01

Moin Moin,

ich bin Inhaber der Domain "gamemaster.support" und wollte gerade einen Benutzer anlegen. Jedoch akzeptiert das Script meine Emailadresse nicht :(

Kann man dies bitte fixen? Schon jetzt vielen Dank!


Stefan1200

#1
Bei der Überprüfung von E-Mail Adressen ist eine gültige TLD mit einer Länge von 2 bis 6 Zeichen angegeben. 7 Zeichen sind extrem ungewöhnlich.

include/formularfunctions.php - Zeile / Line 134
if (preg_match("/^.+@.+\.([a-zA-Z]{2,6})$/", $email))

Ändern in / Change to:
if (preg_match("/^.+@.+\..+$/", $email))

Broesel01

Moin Moin Stefan,

erstmal danke für die Hilfe.

Hier mal eine Übersicht aller aktuellen Domains.
Link: http://www.iana.org/domains/root/db

Wie du siehst sind 7 Zeichen nicht so ungewöhnlich  ;D

Stefan1200

Quote from: Broesel01 on January 07, 2016, 11:03:48 AM
Wie du siehst sind 7 Zeichen nicht so ungewöhnlich  ;D

Nun, aber erst seit dem die TLDs für alles mögliche freigeben wurden. Vor 4 Jahren war das noch ungewöhnlich. ;)

UncleSam

#4
Nachdem die TLDs sich ja schlagartig vermehren finde ich gibt es nur noch zwei verschiedene Arten der Validierung:


Entweder:
- Grob per RegEx prüfen ob es eine Mail-Adresse sein könnte (bevor man etwas macht)
- Anschließend einfach eine Aktivierungsmail schicken. Stimmt die Adresse nicht so kann man nichts machen.


Oder (wenn man mehr validieren will):
- Grob per RegEx prüfen ob es eine Mail-Adresse sein könnte
- Per DNS prüfen ob die Domain nach dem "@" einen MX Eintrag besitzt (kein MX --> nicht valid)
- Aktivierungsmail schicken :-)


Ob es eine E-Mail Adresse gibt wird man wohl ohne Aktivierungsmail nie hinkriegen. Siehe: https://davidcel.is/posts/stop-validating-email-addresses-with-regex/

Stefan1200

#5
Nach dem ich gesehen habe, das es sogar TLDs mit 20 Zeichen, deutschen Umlauten und Chinesischen Schriftzeichen gibt, kannste Regex echt nur noch gebrauchen, um zu prüfen, ob ein @ und ein . in der richtigen Reihenfolge drin vorkommen. So wird es in der nächsten Version vom Web Interface dann auch sein.

Wer es schon anpassen möchte, meinen Beitrag weiter oben habe ich um die neue Überprüfung aktualisiert:
https://www.stefan1200.de/forum/index.php?topic=353.msg1794#msg1794