Stefan1200's Forum

JTS3ServerMod Hosting Edition => JTS3ServerMod MySQL & WebInterface => Topic started by: Broesel01 on January 06, 2016, 08:48:01 PM

Title: Fehler bei Emailadresse (Benutzerverwaltung)
Post by: Broesel01 on January 06, 2016, 08:48:01 PM
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!

(http://gamemaster.support/Screens/06-01-2016_20-45-09.png)
Title: Re: Fehler bei Emailadresse (Benutzerverwaltung)
Post by: Stefan1200 on January 07, 2016, 10:52:28 AM
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))
Title: Re: Fehler bei Emailadresse (Benutzerverwaltung)
Post by: Broesel01 on January 07, 2016, 11:03:48 AM
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
Title: Re: Fehler bei Emailadresse (Benutzerverwaltung)
Post by: Stefan1200 on January 07, 2016, 11:47:37 AM
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. ;)
Title: Re: Fehler bei Emailadresse (Benutzerverwaltung)
Post by: UncleSam on January 14, 2016, 11:53:23 PM
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/ (https://davidcel.is/posts/stop-validating-email-addresses-with-regex/)
Title: Re: Fehler bei Emailadresse (Benutzerverwaltung)
Post by: Stefan1200 on January 15, 2016, 07:55:09 AM
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