Luki schrieb am 27.08.2003 um 22:37 Uhr
Um falsche Formularangaben noch weiter ausschließen zu können, gibt es einen kleinen Trick. Die meisten Formular-Überprüfer testen nämlich nur, ob die angegebene Email-Adresse ein "@"-Zeichen enthält oder gültig mit Punkt und Domain-Endung erscheint. Es geht besser.
Sogar bei Amazon lässt sich mit "haha@schaut_fast_echt_aus.com" noch ein Kundenkonto anlegen. Das müsste nicht sein...
Ein einfache PHP-Funktion überprüft, ob das Formular-Feld "email" ein Wert enthält, dieser korrekt erscheint und ob es die Domain überhaupt gibt. Praktisch für Offline-Entwickler: Wird das Skript lokal aufgerufen, wird der Domaincheck nicht ausgeführt.
Gibt es zur angegebenen Email-Adresse, zum Beispiel office@drweb.de auch die entsprechende Domain http://drweb.de, ist das Skript gültig, ansonsten liefert es den Wert false zurück.
/* checks user input email */
function valid_email($email) {
global $REMOTE_ADDR;
if (!empty($email) AND
ereg("^([a-zA-Z0-9\.\_\-]+)@([a-zA-Z0-9\.\-]+\.[A-Za-z][A-Za-z]+)$",
$email)) {
if ($REMOTE_ADDR != "127.0.0.1") {
list($user, $host) = explode("@", $email);
if (checkdnsrr($host)) {
return $email;
} else {
return false;
}
} else {
return $email;
}
} else {
return false;
}
}
wie / wo baue ich den ein?
MrNase schrieb am 27.08.2003 um 23:39 Uhr
functions.inc.php, da ist schon eine zum testen der eMails drin. Wenn dort nicht, dann in der do_register.php :)
theDon schrieb am 27.08.2003 um 23:47 Uhr
inc/functions.php
/edit
fsck, die nase war schneller
edit/
Luki schrieb am 28.08.2003 um 15:56 Uhr
Feature sollte Standard im THWB werden
MrNase schrieb am 28.08.2003 um 16:13 Uhr
Von wem hast du die Funktion ;)
Wenn sie besser ist sollte sie wirklich standart werden :)
urlauber schrieb am 28.08.2003 um 16:33 Uhr
habe bei was änliches (allerdings nicht im Forum):
if(!$email==""){
if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email)){
$error_msg.="- Bitte gib eine <b>gültige E-Mail-Adresse</b> an !<br>";
}
}
überprüft allerdings nur die korrekte Schreibweise, hab ich aus nem PHP-Lernbuch !
MrNase schrieb am 28.08.2003 um 16:38 Uhr
So ähnlich ist es auch beim ThWboard :)
theDon schrieb am 28.08.2003 um 16:45 Uhr
ich bin dafür, eine preg zu nehmen.
MrNase schrieb am 28.08.2003 um 16:56 Uhr
Schlag einen vor ;)
Luki schrieb am 28.08.2003 um 17:35 Uhr
von der DRweb website:
http://drweb.de/programmierung/php_emailcheck.shtml
seikeinfloh schrieb am 28.08.2003 um 19:50 Uhr
Funktion ist ja schon ganz nett, aber nen besseren Regulären Ausdruck gibts bei Selfhtml:
http://selfaktuell.teamone.de/tippstricks/programmiertechnik/email/index.html
chris2000 schrieb am 02.11.2003 um 19:15 Uhr
ich meine mal irgendwo gelesen zu haben, dass sich e-mail-adressen nicht mit regulären ausdrücken verifizieren lassen. ich meinte das ginge auch syntaktisch nicht. aber wie auch immer.
warum können mitglieder <imframes> in ihrem profil unter wohnort einbinden? das habe ich gerade irgendwo im profil gesehen. IMO ist das ein viel größeres sicherheitsproblem, wenn dann plötzlich javascript und anderes ausgeführt werden kann. ich habe das ganze zwar in meinem browser deaktiviert, aber trotzdem!
MrNase schrieb am 02.11.2003 um 19:24 Uhr
Ist in der 2.82 gefixt. (siehe News, ganz oben ;))