Versand einer Bestätigungs E-Mail
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Versand einer Bestätigungs E-Mail
Hi, Mädels und Jungs ...
ich bin gerade dabei mir ein HTML-Formular zu bauen über das man Nachrichten zu mir senden kann. Ich möchte dem Internet User eine Bestätigung an seine Mail Adresse zusenden die den Text seiner Nachricht und andere Informationen enthält. Damit das Formular aber nicht zum Spam versenden benutzt werden kann und mir etwas die Erfahrung zur Prüfung von Mail Adressen fehlt wäre ich für Tipps/Links auf was ich achten muss dankbar. Es geht mir nur darum eventuellen Spam Versand zu verhindern nicht darum die Richtigkeit der Mail Adresse festzustellen.
Bei meiner bisherigen Suche bin ich nur auf verweise zu diversen Frameworks gestoßen die mir aber nicht viel nützen weil das Projekt in C++ Programmiert ist.
Grüße
Alexander
ich bin gerade dabei mir ein HTML-Formular zu bauen über das man Nachrichten zu mir senden kann. Ich möchte dem Internet User eine Bestätigung an seine Mail Adresse zusenden die den Text seiner Nachricht und andere Informationen enthält. Damit das Formular aber nicht zum Spam versenden benutzt werden kann und mir etwas die Erfahrung zur Prüfung von Mail Adressen fehlt wäre ich für Tipps/Links auf was ich achten muss dankbar. Es geht mir nur darum eventuellen Spam Versand zu verhindern nicht darum die Richtigkeit der Mail Adresse festzustellen.
Bei meiner bisherigen Suche bin ich nur auf verweise zu diversen Frameworks gestoßen die mir aber nicht viel nützen weil das Projekt in C++ Programmiert ist.
Grüße
Alexander
- Emess
- Beiträge: 3764
- Registriert: 07.11.2006 15:02:26
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Im schönen Odenwald
-
Kontaktdaten:
Re: Versand einer Bestätigungs E-Mail
Wenn das Formular im Internet stehen soll, müsstest du schon php und mysql bemühen.
Wenn du damit nicht vertraut bist geht das nicht so nebenbei.
Wenn du damit nicht vertraut bist geht das nicht so nebenbei.
Debian Testing (bleibt es auch)
Debian Bookworm KDE Plasma 5x Kernel 6.1.0-21-amd64 (64-bit)
Notebook HP ZBook 17 G2
Quadro K3100M/PCIe/SSE2
http://www.emess62.de
Debian Bookworm KDE Plasma 5x Kernel 6.1.0-21-amd64 (64-bit)
Notebook HP ZBook 17 G2
Quadro K3100M/PCIe/SSE2
http://www.emess62.de
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Ja das soll im Internet stehen.
Was kann PHP das C++ nicht kann?
Wozu brauch ich die Datenbank um den SPAM Versand zu verhindern?
Was kann PHP das C++ nicht kann?
Wozu brauch ich die Datenbank um den SPAM Versand zu verhindern?
- Emess
- Beiträge: 3764
- Registriert: 07.11.2006 15:02:26
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Im schönen Odenwald
-
Kontaktdaten:
Re: Versand einer Bestätigungs E-Mail
alexander_ro hat geschrieben:
Was kann PHP das C++ nicht kann?
Da ich mit der Sache nur insofern vertraut bin, weil ich mal ein Kontaktformular erstellt habe, kann ich dir das so nicht sagen.
Ich würde sagen, weil da hinterlegt werden kann ob es sich um bekannte Absender handelt.Wozu brauch ich die Datenbank um den SPAM Versand zu verhindern?
Ob man dein Vorhaben aber wirklich so realisieren kann weiß ich nicht.
Bin aber gespannt was es für Möglichkeiten gibt!
Debian Testing (bleibt es auch)
Debian Bookworm KDE Plasma 5x Kernel 6.1.0-21-amd64 (64-bit)
Notebook HP ZBook 17 G2
Quadro K3100M/PCIe/SSE2
http://www.emess62.de
Debian Bookworm KDE Plasma 5x Kernel 6.1.0-21-amd64 (64-bit)
Notebook HP ZBook 17 G2
Quadro K3100M/PCIe/SSE2
http://www.emess62.de
- mindX
- Beiträge: 1541
- Registriert: 27.03.2009 19:17:28
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Kann durchaus sein, dass ich die Fragestellung nicht richtig verstanden habe, aber mir fiel spontan "Captcha" ein.
http://de.wikipedia.org/wiki/Captcha
http://www.google.com/recaptcha
https://developers.google.com/recaptcha ... y?hl=de-DE
http://de.wikipedia.org/wiki/Captcha
http://www.google.com/recaptcha
https://developers.google.com/recaptcha ... y?hl=de-DE
Re: Versand einer Bestätigungs E-Mail
Hallo alexander_ro,
derzeit lassen sich Spambots sehr gut durch Captcha stoppen. Das heisst, vor dem Uebergeben eines Formulares muss der Besucher meist eine Zahlenkombination eingeben, die er von einer zufaellig dargestellten Grafik ablesen muss.
Spambots koennen diese Grafik im normalerweise nicht lesen.
Im Allgemeinen ist so ein Formular in php gehalten.
Eine Datenbank allerdings zum Erkennen von Spambots halte ich allerdings fuer etwas opulent.
viele Gruesse
Draal
derzeit lassen sich Spambots sehr gut durch Captcha stoppen. Das heisst, vor dem Uebergeben eines Formulares muss der Besucher meist eine Zahlenkombination eingeben, die er von einer zufaellig dargestellten Grafik ablesen muss.
Spambots koennen diese Grafik im normalerweise nicht lesen.
Im Allgemeinen ist so ein Formular in php gehalten.
Eine Datenbank allerdings zum Erkennen von Spambots halte ich allerdings fuer etwas opulent.
viele Gruesse
Draal
Zuletzt geändert von Draal am 18.11.2012 15:31:53, insgesamt 1-mal geändert.
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Die Prüfung ist zwingend notwendig wenn man automatisch eine Bestätigungs Mail vewrsenden will. Auf die offensichtlichen Merkmale einer Mail Adresse zu prüfen wäre ja nicht so schwer. Was ich nicht weiß ist welche Formen der Zeichencodierung HTML oder Mailserver verstehen mit denen man die Prüfung umgehen kann.
Sowas zum Beispiel: &xxx; #nnn; usw. eine schlichte Prüfung auf das Zeichen würde es nicht erkennen.
Mit der eigenen Datenbank abgleichen ist leider nicht möglich ich kenne ja nicht unbedingt die Adresse von dem der mir was zusenden will.
Es geht eigentlich nur darum zu verhindern das jemand über dieses Mail Adress Feld meinem Mailserver eine Adressliste unterschiebt.
Sowas zum Beispiel: &xxx; #nnn; usw. eine schlichte Prüfung auf das Zeichen würde es nicht erkennen.
Mit der eigenen Datenbank abgleichen ist leider nicht möglich ich kenne ja nicht unbedingt die Adresse von dem der mir was zusenden will.
Es geht eigentlich nur darum zu verhindern das jemand über dieses Mail Adress Feld meinem Mailserver eine Adressliste unterschiebt.
Re: Versand einer Bestätigungs E-Mail
Hallo alexander_ro,
Ich hatte vor etlichen Jahren mal so ein script auf einer HP im Einsatz.
viele Gruesse
Draal
nein, ist es eigentlich nicht. Ein in php gehaltenes Formular schickt Dir ueber die sendmail Funktion, oder auch eine andere, eine E Mail zu. Wieso sollte es das nicht bei einer korrekt eingegebenen E Mail Adresse des jenigen, der Dich anschreibt, koennen?alexander_ro hat geschrieben:Die Prüfung ist zwingend notwendig wenn man automatisch eine Bestätigungs Mail vewrsenden will.
Ich hatte vor etlichen Jahren mal so ein script auf einer HP im Einsatz.
viele Gruesse
Draal
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Doch die Prüfung ist nötig. Wenn Du die Eingabe aus dem HTML-Formular einfach an die "sendmail" Funktion übergibst. Kann ich mit einem Aufruf des Formulars hunderte SPAM Mails versenden. Da lohnt sich evtl. sogar die manuelle Eingabe des Captcha. Die PHP Funktion nimmt auch eine Liste an Mailempfängern entgegen.Draal hat geschrieben:Ein in php gehaltenes Formular schickt Dir ueber die sendmail Funktion, oder auch eine andere, eine E Mail zu.
Siehe PHP-Doku:
http://php.net/manual/de/function.mail.php
Re: Versand einer Bestätigungs E-Mail
Hallo alexander_ro,
Die einzige Schwachstelle sehe ich eigentlich nur, dass man aus dem Quelltext der Bestaetigungs E Mail den Standort des smtp Servers herausfinden kann.
Ich arbeite schon einige Zeit mit Webpraesenzen, aber Spam war eigentlich nie wirklich ein Problem.
viele Gruesse
Draal
Bei einem halbwegs sinnvollen Skript ginge das eigentlich nur, indem man Dich mit der Angabe vieler Absender E Mail Adressen anschreibt. Indes glaube ich kaum, dass sich da die manuelle Eingabe der Captcha Herausforderung fuer jeweils eine Mail lohnt.alexander_ro hat geschrieben:Doch die Prüfung ist nötig. Wenn Du die Eingabe aus dem HTML-Formular einfach an die "sendmail" Funktion übergibst. Kann ich mit einem Aufruf des Formulars hunderte SPAM Mails versenden. Da lohnt sich evtl. sogar die manuelle Eingabe des Captcha.
Ja, aber nur, wenn man das im Script zulaesst. Ich, fuer meinen Teil, wuerde meine E Mail Adresse im Script festschreiben und so wuerde sie fuer den Absender gar nicht erst sichtbar.alexander_ro hat geschrieben:Die PHP Funktion nimmt auch eine Liste an Mailempfängern entgegen.
Die einzige Schwachstelle sehe ich eigentlich nur, dass man aus dem Quelltext der Bestaetigungs E Mail den Standort des smtp Servers herausfinden kann.
Ich arbeite schon einige Zeit mit Webpraesenzen, aber Spam war eigentlich nie wirklich ein Problem.
viele Gruesse
Draal
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Deshalb meine Frage hier ... wie man das verhindert.Draal hat geschrieben:Ja, aber nur, wenn man das im Script zulaesst.
Es geht ja nicht um meine Mailadresse. Ich muss mir keine Bestätigung zusenden. Es geht um die Mailadresse die der User am HTML-Formular eingibt und an die ich die Bestätigung senden will. Ohne Prüfung kann der beliebiges eingeben so eben auch eine Liste mit Mailadressen.Draal hat geschrieben:Ich, fuer meinen Teil, wuerde meine E Mail Adresse im Script festschreiben und so wuerde sie fuer den Absender gar nicht erst sichtbar.
Kann ja sein das Deine Lösung Kugelsicher ist, mir fehlt die aber noch . Wenn Du aber keine Prüfung hast war das reiner Zufall.Draal hat geschrieben:Ich arbeite schon einige Zeit mit Webpraesenzen, aber Spam war eigentlich nie wirklich ein Problem.
Grüße
Alexander
<Edit>
Hier habe ich was gefunden das in die Richtung geht:
http://www.php.de/php-tipps-2008/47203- ... merke.html
Das hier gezeigte Script hat meiner Meinung nach auf jeden Fall eine Lücke. Werden die Zeichen die per RegEx gefiltert werden mit HTML-Entities Codiert findet die das Script nicht mehr.
http://forum.de.selfhtml.org/archiv/2006/6/t131443/
</Edit>
Zuletzt geändert von alexander_ro am 19.11.2012 12:56:16, insgesamt 2-mal geändert.
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Re: Versand einer Bestätigungs E-Mail
Hi,
wenn Du wirklich sinnvoll prüfen willst, ob die vom User im Formularfeld eingetragene Mailadresse zu dem entsprechenden User gehört, kommst Du um eine verbindliche Registrierung nicht herum.
Falls Registrierung keine Option ist, kannst Du lediglich prüfen, ob der eingetragene Wert syntaktisch eine gültige Mailadresse ist und dafür sorgen, dass alles was darüber hinausgeht (z.B. eine Liste von Mailadressen) verworfen wird.
Du willst ja zwei Mails versenden.
Die erste vom User generierte an Dich. Ich gehe davon aus, dass der User hier Einfluss auf den Body der Mail nehmen soll.
Die zweite soll eine reine Bestätigungsmail mit fest vorgegebenen Content sein, in welchem lediglich die vorher vom User erstellte Variable "Mailadresse" und ggf. "Name" eingefügt werden. Spammer haben üblicherweise wenig Interesse einzelne Mails mit feststehenden von ihnen nicht beeinflussbaren Content durch die Gegend zu senden.
Zur Feldeingabeprüfung stehen Dir prinzipiell zwei Wege zur Verfügung:
1. Serverseitig
Nimm, was Dir am besten in den Kram passt. C++ über CGI, Perl, Brainfuck, ... meinetwegen auch PHP.
2. Clientseitig
Javascript
Code dazu solltest Du im Netz jede Menge finden können.
Groetjes, niels
Edit: "n"
wenn Du wirklich sinnvoll prüfen willst, ob die vom User im Formularfeld eingetragene Mailadresse zu dem entsprechenden User gehört, kommst Du um eine verbindliche Registrierung nicht herum.
Falls Registrierung keine Option ist, kannst Du lediglich prüfen, ob der eingetragene Wert syntaktisch eine gültige Mailadresse ist und dafür sorgen, dass alles was darüber hinausgeht (z.B. eine Liste von Mailadressen) verworfen wird.
Du willst ja zwei Mails versenden.
Die erste vom User generierte an Dich. Ich gehe davon aus, dass der User hier Einfluss auf den Body der Mail nehmen soll.
Die zweite soll eine reine Bestätigungsmail mit fest vorgegebenen Content sein, in welchem lediglich die vorher vom User erstellte Variable "Mailadresse" und ggf. "Name" eingefügt werden. Spammer haben üblicherweise wenig Interesse einzelne Mails mit feststehenden von ihnen nicht beeinflussbaren Content durch die Gegend zu senden.
Zur Feldeingabeprüfung stehen Dir prinzipiell zwei Wege zur Verfügung:
1. Serverseitig
Nimm, was Dir am besten in den Kram passt. C++ über CGI, Perl, Brainfuck, ... meinetwegen auch PHP.
2. Clientseitig
Javascript
Code dazu solltest Du im Netz jede Menge finden können.
Groetjes, niels
Edit: "n"
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Nein will ich nicht weil das so nicht geht. Es geht mir lediglich darum SPAM versand zu verhindern. Gibt der User eine falsche Mailadresse an bekommt der die Nachricht nicht.novalix hat geschrieben:wenn Du wirklich sinnvoll prüfen willst, ob die vom User im Formularfeld eingetragene Mailadresse zu dem entsprechenden User gehört,
Genau darum gehts nur ist das nicht so einfach. Die beiden vorher genannten Links habe ich gerade erst gefunden. Da werden Teile der Probleme beschrieben.novalix hat geschrieben:Falls Registrierung keine Option ist, kannst Du lediglich prüfen, ob der eingetragene Wert syntaktisch eine gültige Mailadresse ist und dafür sorgen, dass alles was darüber hinausgeht (z.B. eine Liste von Mailadressen) verworfen wird.
Nein nur eine an die Mailadresse die ich über das HTML-Formular erhalte. Die Mail enthält auch noch andere Texte aus dem Formular.novalix hat geschrieben:Du willst ja zwei Mails versenden.
Der Content ist nur Teilweise fest. Ein Teil stammt aus Eingaben die ich über das HTML-Formular erhalte. Es ist ein irrglaube das man ohne Prüfung über so ein Formular nur eine Mail versenden kann. Die Masse des SPAM wird derzeit über kaputte Formulare versendet.novalix hat geschrieben:Die zweite soll eine reine Bestätigungsmail mit fest vorgegebenen Content sein, in welchem lediglich die vorher vom User erstellte Variable "Mailadresse" und ggf. "Name" eingefügt werden. Spammer haben üblicherweise wenig Interesse einzelne Mails mit feststehenden von ihnen nicht beeinflussbaren Content durch die Gegend zu senden.
Ein Client seitige SPAM Verhinderung ist völlig Nutzlos weil man die ohne großen aufwand umgehen kann.novalix hat geschrieben:2. Clientseitig
Bisher habe ich nichts gefunden das nach einer sicheren Methode aussah. Scheinbar hatte ich gestern immer mit den falschen Suchbegriffen gesucht. Die zwei oben verlinkten Seiten gehen ja schon in die Richtung besonders die aus dem Selfhtml Forum.novalix hat geschrieben:Code dazu solltest Du im Netz jede Menge finden können.
Grüße
Alexander
Re: Versand einer Bestätigungs E-Mail
Hallo alexander_ro,
Und wenn ich in die Logfiles meines Apachen sehe, so sind die Anfragen von Spambots und Hackversuchen von erheblichem Umfang. An Zufall mag ich da nicht glauben.
viele Gruesse
Draal
Beliebiges nuetzt ihm aber wenig und eine Listeneingabe muss man natuerlich verhindern.alexander_ro hat geschrieben:Ohne Prüfung kann der beliebiges eingeben so eben auch eine Liste mit Mailadressen.
Ob meine Loesungen kugelsicher sind, wage ich nicht zu behaupten. Indes habe ich die Erfahrung gemacht, dass Spambots an jedem von mir gesetzten Captcha scheiterten. Zumeist versuchten sie es aber in Gaestebuechern und Foren. Kontaktformulare wurden eher selten bemueht.alexander_ro hat geschrieben:Kann ja sein das Deine Lösung Kugelsicher ist, mir fehlt die aber noch . Wenn Du aber keine Prüfung hast war das reiner Zufall.
Und wenn ich in die Logfiles meines Apachen sehe, so sind die Anfragen von Spambots und Hackversuchen von erheblichem Umfang. An Zufall mag ich da nicht glauben.
viele Gruesse
Draal
- sys_op
- Beiträge: 672
- Registriert: 17.09.2007 19:10:47
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Hmmm
Du kannst
1. die Mailadresse zuerst mal auf Gültigkeit prüfen (mit der Funktion filter_var) und dann
2. ob der Mailadresse ein gültiger Mailserver gegenübersteht (DNS-Kontrolle) und
3. ein Captcha ist schon fast ein muss.
Am schönsten (sichersten) sind die Captschas, die z.B. eine kleine Rechenaufgabe aufgeben (z.B 15 +7) und das Ergebnis muss eingetragen werden.
Der Code erledigt die ersten 2 Punkte
Du kannst
1. die Mailadresse zuerst mal auf Gültigkeit prüfen (mit der Funktion filter_var) und dann
2. ob der Mailadresse ein gültiger Mailserver gegenübersteht (DNS-Kontrolle) und
3. ein Captcha ist schon fast ein muss.
Am schönsten (sichersten) sind die Captschas, die z.B. eine kleine Rechenaufgabe aufgeben (z.B 15 +7) und das Ergebnis muss eingetragen werden.
Der Code erledigt die ersten 2 Punkte
Code: Alles auswählen
<?PHP
function check_mail_adresse($mail,$mxcheck=1)
{
if ( filter_var($mail, FILTER_VALIDATE_EMAIL ) === FALSE )
{
return false;
}
if ( $mxcheck ==1 )
{
$pice = explode('@', $mail);
if ( !checkdnsrr($pice[1], "MX") and !checkdnsrr($pice[1], "A" ) and !checkdnsrr($pice[1], "CNAME" ) )
{
return false;
}
}
return true;
}
// aufruf mit MX-Check
if(check_mail_adresse("tralala@gmx".net) == true)
{
mach was erlaubtes;
}
// Aufruf ohne MX-Chheck
if(check_mail_adresse("tralala@gmx".net, 0) == true)
{
mach was erlaubtes;
}
gruss sys;-)
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Gibts da eine Beschreibung was dieser Filter "FILTER_VALIDATE_EMAIL" macht und ob der auch die Probleme um die E-Mail Injection verhindert?
Ich habe mal bei php.net in der referenz geschaut aber da steht nix dazu.
Nach allem was ich bis jetzt so hier gelesen habe und unter dem Suchbegriff "E-Mail injection" gefunden, ist es das wichtigste das man LF und CR aus allem was als Header gelten könnte herausfiltert. Weil man dann die Mail Header Zeilen nicht mehr abschließen kann.
Mit den Captcha bin ich mir noch unsicher weil die nicht gerade User freundlich sind. Ich brauch das für eine Landingpage für Internet Werbung da wollte man sowas gerne vermeiden. Ich muss euch aber schon recht geben es geht fast nicht ohne.
Alexander
Ich habe mal bei php.net in der referenz geschaut aber da steht nix dazu.
Nach allem was ich bis jetzt so hier gelesen habe und unter dem Suchbegriff "E-Mail injection" gefunden, ist es das wichtigste das man LF und CR aus allem was als Header gelten könnte herausfiltert. Weil man dann die Mail Header Zeilen nicht mehr abschließen kann.
Mit den Captcha bin ich mir noch unsicher weil die nicht gerade User freundlich sind. Ich brauch das für eine Landingpage für Internet Werbung da wollte man sowas gerne vermeiden. Ich muss euch aber schon recht geben es geht fast nicht ohne.
Alexander
- sys_op
- Beiträge: 672
- Registriert: 17.09.2007 19:10:47
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Filter Schalter
http://us3.php.net/manual/de/filter.fil ... lidate.php
Ich prüfe auf \r und \n selber. Das kannst du aber selber herausfinden, indem du an deine Mailadresse einfach ein \n oder \r anhängts und prüfst. Kommt false zurück, ist das in der Prüfung enthalten. (komisch, daran habe ich selber eigentlich noch nie gedacht)
Ich mache das so und gebe gleich eine entsprechende Fehlermeldung aus:
Das selbe mache ich mit von aund an (sofern ich an zulasse)
Spambots hatte ich früher viele, bis ich die Captchas als Riegel vorgeschoben habe. Mittlerweile arbeite ich auch mit Blacklisten und Wortfiltern (wie z.B. Viagra oder sex und porn)
http://us3.php.net/manual/de/filter.fil ... lidate.php
Ich prüfe auf \r und \n selber. Das kannst du aber selber herausfinden, indem du an deine Mailadresse einfach ein \n oder \r anhängts und prüfst. Kommt false zurück, ist das in der Prüfung enthalten. (komisch, daran habe ich selber eigentlich noch nie gedacht)
Ich mache das so und gebe gleich eine entsprechende Fehlermeldung aus:
Code: Alles auswählen
if(stristr($subject,"\r") or (stristr($subject,"\n") or ($subject == ""))) $_SESSION['fehler'] = "Betreff fehlerhaft oder leer....";
Spambots hatte ich früher viele, bis ich die Captchas als Riegel vorgeschoben habe. Mittlerweile arbeite ich auch mit Blacklisten und Wortfiltern (wie z.B. Viagra oder sex und porn)
gruss sys;-)
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Re: Versand einer Bestätigungs E-Mail
Es gibt aber eben keine rein technische Möglichkeit eine Email-Adresse zu verifizieren. Du wirst also kaum feststellen können, was eine "falsche" und eine "richtige" Adresse ist. Spammer versenden ihre Ergüsse gerne an "richtige" Adressen.alexander_ro hat geschrieben:Nein will ich nicht weil das so nicht geht. Es geht mir lediglich darum SPAM versand zu verhindern. Gibt der User eine falsche Mailadresse an bekommt der die Nachricht nicht.novalix hat geschrieben:wenn Du wirklich sinnvoll prüfen willst, ob die vom User im Formularfeld eingetragene Mailadresse zu dem entsprechenden User gehört,
Deswegen sind syntaktische Prüfungen, ob es sich bei einem String um eine Mail-Adresse handelt, auch keineswegs ein geeigneter Spamschutz.alexander_ro hat geschrieben:Genau darum gehts nur ist das nicht so einfach. Die beiden vorher genannten Links habe ich gerade erst gefunden. Da werden Teile der Probleme beschrieben.novalix hat geschrieben:Falls Registrierung keine Option ist, kannst Du lediglich prüfen, ob der eingetragene Wert syntaktisch eine gültige Mailadresse ist und dafür sorgen, dass alles was darüber hinausgeht (z.B. eine Liste von Mailadressen) verworfen wird.
Das habe ich anders verstanden. In Deinem Eingangspost steht folgendesalexander_ro hat geschrieben:Nein nur eine an die Mailadresse die ich über das HTML-Formular erhalte. Die Mail enthält auch noch andere Texte aus dem Formular.novalix hat geschrieben:Du willst ja zwei Mails versenden.
Ich lese daraus, dass der Nutzer über ein von Dir bereitgestelltes Formular eine Mail an Dich senden kann. Solch ein Formular sichert man dahingehend ab, dass der Inhalt der Mail ausschliesslich an eine von Dir vorgegebene Adresse versendet wird und keinerlei Einfügung in den Mailheader (vor allen Dingen nicht in "To", "CC" und "BCC") vorgenommen werden kann.alexander_ro hat geschrieben:ich bin gerade dabei mir ein HTML-Formular zu bauen über das man Nachrichten zu mir senden kann. Ich möchte dem Internet User eine Bestätigung an seine Mail Adresse zusenden die den Text seiner Nachricht und andere Informationen enthält.
Diese Sicherungsmaßnahme unterläufst Du, indem eine Quasi-Kopie der Mail an die vom User eingetragene Adresse versendet wird.
Ich hätte schreiben sollen "sollte". Lass den Content aus der Kopie heraus. Versende eine reine Bestätigung, dass eine Mail eingereicht wurde. Das reduziert die Lust der Spammer Dein Formular zu missbrauchen erheblich.alexander_ro hat geschrieben:Der Content ist nur Teilweise fest. Ein Teil stammt aus Eingaben die ich über das HTML-Formular erhalte. Es ist ein irrglaube das man ohne Prüfung über so ein Formular nur eine Mail versenden kann. Die Masse des SPAM wird derzeit über kaputte Formulare versendet.novalix hat geschrieben:Die zweite soll eine reine Bestätigungsmail mit fest vorgegebenen Content sein, in welchem lediglich die vorher vom User erstellte Variable "Mailadresse" und ggf. "Name" eingefügt werden. Spammer haben üblicherweise wenig Interesse einzelne Mails mit feststehenden von ihnen nicht beeinflussbaren Content durch die Gegend zu senden.
Zu überprüfen, ob es sich bei einem String um eine Mailadresse handelt, ob server- oder clientseitig, ist kein Spamschutz. Du musst allerdings sicherstellen, dass keine Liste von Adressen übergeben wird -> Whitespace, Zeilenumbrüche, Kommas, etc. werden nicht angenommen.alexander_ro hat geschrieben:Ein Client seitige SPAM Verhinderung ist völlig Nutzlos weil man die ohne großen aufwand umgehen kann.novalix hat geschrieben:2. Clientseitig
Eine sichere Methode wirst Du auch nicht finden. Das Loch reisst Du selber, indem Du dem nicht verifizierten User gestattest den Inhalt und das Ziel einer vom System erstellten Mail zu bestimmen. Da läuft auch die von @sys_op vorgeschlagene DNS-Prüfung ins Leere. Wenn ein Spammer meine Mail-Adresse in Dein Formular setzt, dann prüft Dein System, ob meine Mailadresse auf einem korrekt adressierbaren Server gehostet ist. Das ist sie.alexander_ro hat geschrieben:Bisher habe ich nichts gefunden das nach einer sicheren Methode aussah. Scheinbar hatte ich gestern immer mit den falschen Suchbegriffen gesucht. Die zwei oben verlinkten Seiten gehen ja schon in die Richtung besonders die aus dem Selfhtml Forum.novalix hat geschrieben:Code dazu solltest Du im Netz jede Menge finden können.
Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
Re: Versand einer Bestätigungs E-Mail
Zugegebenermassen scrollt der Thread nur durch mein Sichtfeld, aber zum Thema aktiv Anfragen im DNS bezueglich der angegebenen E-Mail-Adresse wuerde ich vorsichtig sein. Ich denke da in Richtung DoS-Zombie, jemand stellt massenweise Anfragen zu irgendwelchen MX, dein Skript fragt alle ab und killt (u.U.) den im System angegebenen DNS-Server. Nicht gut.
Das eine verlinkte PHP-Skript oben mit dem RegEx-Haufen drin sieht fuer mich auf den ersten Blick wasserdicht aus, sofern man PHP trauen koennte. Es gibt einen Haufen whitegelistete Zeichen, da ist zwar sowas wie < mit drinnen (was < entspraeche, welches nicht in der Whitelist ist), aber es wird nirgendswo aktiv expandiert. Tja, sicher sein kann man sich bei dieser Gruetze [1] natuerlich nicht.
Gruss Cae
[1] z.B. '9223372036854775807' == '9223372036854775808'
Das eine verlinkte PHP-Skript oben mit dem RegEx-Haufen drin sieht fuer mich auf den ersten Blick wasserdicht aus, sofern man PHP trauen koennte. Es gibt einen Haufen whitegelistete Zeichen, da ist zwar sowas wie < mit drinnen (was < entspraeche, welches nicht in der Whitelist ist), aber es wird nirgendswo aktiv expandiert. Tja, sicher sein kann man sich bei dieser Gruetze [1] natuerlich nicht.
Gruss Cae
[1] z.B. '9223372036854775807' == '9223372036854775808'
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
-
- Beiträge: 298
- Registriert: 16.01.2006 17:44:21
- Lizenz eigener Beiträge: GNU General Public License
Re: Versand einer Bestätigungs E-Mail
Guten Morgen ...
Grüße
Alexander
Davon war ja auch nie die Rede.novalix hat geschrieben:Du wirst also kaum feststellen können, was eine "falsche" und eine "richtige" Adresse ist.
Da steht "Nachrichten". Eine Nachricht erhalte ich in der Tat aber keine Mail.novalix hat geschrieben:Ich lese daraus, dass der Nutzer über ein von Dir bereitgestelltes Formular eine Mail an Dich senden kann.
Was aber wohl kaum möglich ist wenn ich einer mir noch nicht bekannten Person ein Mail zusenden will.novalix hat geschrieben:Solch ein Formular sichert man dahingehend ab, dass der Inhalt der Mail ausschliesslich an eine von Dir vorgegebene Adresse versendet wird und keinerlei Einfügung in den Mailheader (vor allen Dingen nicht in "To", "CC" und "BCC") vorgenommen werden kann.
Das ist keine Sicherungsmaßnahme sondern die totale Zerstörung der funktionalität ...novalix hat geschrieben:Diese Sicherungsmaßnahme unterläufst Du, indem eine Quasi-Kopie der Mail an die vom User eingetragene Adresse versendet wird.
Nicht nur das ich es geistlos finde Menschen mit derartig Inhaltsleeren Mails zu malträtieren sprechen Gesetzliche Anforderungen dagegen.novalix hat geschrieben:Lass den Content aus der Kopie heraus. Versende eine reine Bestätigung, dass eine Mail eingereicht wurde.
Wenn die Methode eine akzeptables Maß an Sicherheit erreicht ist das völlig in Ordnung. Ich bin kein Politiker ich muß nicht von absoluter Sicherheit Sprechen wo diese nie zu erreichen ist.novalix hat geschrieben:Eine sichere Methode wirst Du auch nicht finden.
Da hast Du recht, keine gute Idee und habe ich auch nicht vor. Weil es für das was ich verhindern will auch nichts nützt.Cae hat geschrieben:aber zum Thema aktiv Anfragen im DNS bezueglich der angegebenen E-Mail-Adresse
Grüße
Alexander