Versand einer Bestätigungs E-Mail

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
alexander_ro
Beiträge: 298
Registriert: 16.01.2006 17:44:21
Lizenz eigener Beiträge: GNU General Public License

Versand einer Bestätigungs E-Mail

Beitrag von alexander_ro » 18.11.2012 12:48:22

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

Benutzeravatar
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

Beitrag von Emess » 18.11.2012 12:58:11

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.
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

alexander_ro
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

Beitrag von alexander_ro » 18.11.2012 13:03:59

Ja das soll im Internet stehen.

Was kann PHP das C++ nicht kann?

Wozu brauch ich die Datenbank um den SPAM Versand zu verhindern?

Benutzeravatar
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

Beitrag von Emess » 18.11.2012 13:55:49

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.
Wozu brauch ich die Datenbank um den SPAM Versand zu verhindern?
Ich würde sagen, weil da hinterlegt werden kann ob es sich um bekannte Absender handelt.

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

Benutzeravatar
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

Beitrag von mindX » 18.11.2012 15:20:58

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

Benutzeravatar
Draal
Beiträge: 690
Registriert: 11.03.2005 14:45:26

Re: Versand einer Bestätigungs E-Mail

Beitrag von Draal » 18.11.2012 15:30:07

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. :wink:

viele Gruesse

Draal
Zuletzt geändert von Draal am 18.11.2012 15:31:53, insgesamt 1-mal geändert.

alexander_ro
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

Beitrag von alexander_ro » 18.11.2012 15:31:19

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.

Benutzeravatar
Draal
Beiträge: 690
Registriert: 11.03.2005 14:45:26

Re: Versand einer Bestätigungs E-Mail

Beitrag von Draal » 18.11.2012 15:40:54

Hallo alexander_ro,
alexander_ro hat geschrieben:Die Prüfung ist zwingend notwendig wenn man automatisch eine Bestätigungs Mail vewrsenden will.
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?
Ich hatte vor etlichen Jahren mal so ein script auf einer HP im Einsatz.

viele Gruesse

Draal

alexander_ro
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

Beitrag von alexander_ro » 18.11.2012 16:25:26

Draal hat geschrieben:Ein in php gehaltenes Formular schickt Dir ueber die sendmail Funktion, oder auch eine andere, eine E Mail zu.
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.

Siehe PHP-Doku:
http://php.net/manual/de/function.mail.php

Benutzeravatar
Draal
Beiträge: 690
Registriert: 11.03.2005 14:45:26

Re: Versand einer Bestätigungs E-Mail

Beitrag von Draal » 18.11.2012 23:47:27

Hallo alexander_ro,
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.
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:Die PHP Funktion nimmt auch eine Liste an Mailempfängern entgegen.
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.
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

alexander_ro
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

Beitrag von alexander_ro » 19.11.2012 10:23:10

Draal hat geschrieben:Ja, aber nur, wenn man das im Script zulaesst.
Deshalb meine Frage hier ... wie man das verhindert.
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.
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 arbeite schon einige Zeit mit Webpraesenzen, aber Spam war eigentlich nie wirklich ein Problem.
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.

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.

Benutzeravatar
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

Beitrag von novalix » 19.11.2012 12:09:29

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"
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.

alexander_ro
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

Beitrag von alexander_ro » 19.11.2012 12:44:11

novalix hat geschrieben:wenn Du wirklich sinnvoll prüfen willst, ob die vom User im Formularfeld eingetragene Mailadresse zu dem entsprechenden User gehört,
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: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.
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:Du willst ja zwei Mails versenden.
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: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.
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:2. Clientseitig
Ein Client seitige SPAM Verhinderung ist völlig Nutzlos weil man die ohne großen aufwand umgehen kann.
novalix hat geschrieben:Code dazu solltest Du im Netz jede Menge finden können.
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.

Grüße
Alexander

Benutzeravatar
Draal
Beiträge: 690
Registriert: 11.03.2005 14:45:26

Re: Versand einer Bestätigungs E-Mail

Beitrag von Draal » 19.11.2012 15:04:10

Hallo alexander_ro,
alexander_ro hat geschrieben:Ohne Prüfung kann der beliebiges eingeben so eben auch eine Liste mit Mailadressen.
Beliebiges nuetzt ihm aber wenig und eine Listeneingabe muss man natuerlich verhindern.
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.
Ob meine Loesungen kugelsicher sind, wage ich nicht zu behaupten. 8) 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.
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

Benutzeravatar
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

Beitrag von sys_op » 19.11.2012 15:38:31

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

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;-)

alexander_ro
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

Beitrag von alexander_ro » 19.11.2012 16:15:18

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

Benutzeravatar
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

Beitrag von sys_op » 19.11.2012 16:28:25

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:

Code: Alles auswählen

if(stristr($subject,"\r") or (stristr($subject,"\n") or ($subject == ""))) $_SESSION['fehler'] = "Betreff fehlerhaft oder leer....";
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)
gruss sys;-)

Benutzeravatar
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

Beitrag von novalix » 20.11.2012 00:27:38

alexander_ro hat geschrieben:
novalix hat geschrieben:wenn Du wirklich sinnvoll prüfen willst, ob die vom User im Formularfeld eingetragene Mailadresse zu dem entsprechenden User gehört,
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.
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:
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.
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.
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:
novalix hat geschrieben:Du willst ja zwei Mails versenden.
Nein nur eine an die Mailadresse die ich über das HTML-Formular erhalte. Die Mail enthält auch noch andere Texte aus dem Formular.
Das habe ich anders verstanden. In Deinem Eingangspost steht folgendes
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.
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.
Diese Sicherungsmaßnahme unterläufst Du, indem eine Quasi-Kopie der Mail an die vom User eingetragene Adresse versendet wird.
alexander_ro hat geschrieben:
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.
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.
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:
novalix hat geschrieben:2. Clientseitig
Ein Client seitige SPAM Verhinderung ist völlig Nutzlos weil man die ohne großen aufwand umgehen kann.
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:
novalix hat geschrieben:Code dazu solltest Du im Netz jede Menge finden können.
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.
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.

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.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Versand einer Bestätigungs E-Mail

Beitrag von Cae » 20.11.2012 00:32:25

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'
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

alexander_ro
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

Beitrag von alexander_ro » 20.11.2012 07:46:34

Guten Morgen ... :)
novalix hat geschrieben:Du wirst also kaum feststellen können, was eine "falsche" und eine "richtige" Adresse ist.
Davon war ja auch nie die Rede.
novalix hat geschrieben:Ich lese daraus, dass der Nutzer über ein von Dir bereitgestelltes Formular eine Mail an Dich senden kann.
Da steht "Nachrichten". Eine Nachricht erhalte ich in der Tat aber keine Mail.
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.
Was aber wohl kaum möglich ist wenn ich einer mir noch nicht bekannten Person ein Mail zusenden will.
novalix hat geschrieben:Diese Sicherungsmaßnahme unterläufst Du, indem eine Quasi-Kopie der Mail an die vom User eingetragene Adresse versendet wird.
Das ist keine Sicherungsmaßnahme sondern die totale Zerstörung der funktionalität ... :(
novalix hat geschrieben:Lass den Content aus der Kopie heraus. Versende eine reine Bestätigung, dass eine Mail eingereicht wurde.
Nicht nur das ich es geistlos finde Menschen mit derartig Inhaltsleeren Mails zu malträtieren sprechen Gesetzliche Anforderungen dagegen.
novalix hat geschrieben:Eine sichere Methode wirst Du auch nicht finden.
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.
Cae hat geschrieben:aber zum Thema aktiv Anfragen im DNS bezueglich der angegebenen E-Mail-Adresse
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.

Grüße
Alexander

Antworten