| | | | |
| | |
| Neuer Benutzer Registriert seit: 02.02.2012
Beiträge: 6
PHP-Kenntnisse: Anfänger ![]() | Ich verwende phpmailer v5.1 nach einer Anleitung von tanmar.info In einer HTML-Datei mit einem E-Mail Formular werden die Daten mit action=post an eine php-Datei übergeben. Code: ...
<form action="sendmail.php" method="post" enctype="multipart/form-data" name="formular" class="kontaktformular">
<fieldset>
<legend>Persönliche Daten</legend>
<label for="firma">Firma</label>
<input type="text" id="firma" name="firma" maxlength=40>
<br />
<label for="name">Name<span class="hervorhebung">*</span></label>
<input type="text" id="nachname" name="nachname" maxlength=40>
<br />
...
<label for="email2">E-Mail<span class="hervorhebung">*</span></label>
<input type="text" id="email2" name="Email" maxlength=40 size=25>
<br />
<span class="hervorhebung">*</span> erforderlich
...
</fieldset>
<input type="submit" id="submit" name="Submit" value="Abschicken">
<input type="reset" id="submit2" name="submit2" value="Zurücksetzen"><br />
</form>
Code: function checkForm() {
//Element ansprechen, Länge bestimmen
if (document.forms[0].nachname.value.length<3) {
//Warnung ausgeben
alert('Bitte "Nachname" ausfüllen');
//Cursor ins Feld stellen
document.forms[0].nachname.focus();
return(false);
}
...
}
Nun erhalte ich regelmäßig leere E-Mailanfragen, was eigentlich nicht sein sollte. Darüber hinaus nervt es. Im selfhtml-Forumarchiv findet sich ein Post, der sich mit genau dieser Frage beschäftigt. http://forum.de.selfhtml.org/archiv/2007/10/t160286/ Es scheinen Bots zu sein, die die php-Datei aufrufen. In dem Post bleibt mir allerdings verborgen, wie mit der Situation umgegengen werden soll. Es wird auch vorgeschlagen serverseitig zu validieren. Meine Fragen: Stellt phpmailer ein Sicherheitsrisiko dar, das es zu verringern gilt? Ist es besser serverseitig zu validieren oder ist das unnötig? Die Version phpmailer_v5.1 läuft problemlos. Sollte trotzdem auf phpmailer_5.2.1 umgestellt werden? Ich danke für eure Zeit. tuki |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||||
| Erfahrener Benutzer Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse: Anfänger ![]() | Zitat:
Zitat:
Zitat:
Was die Bots betrifft, schau mal hier rein: AntiSpam - PHP form class Extrem einfach zu nutzen, die Beipiele dort sind jedoch nicht als Vorbild für eine ausreichende Validierung der Eingabewerte zu sehen. | |||
| | |
| | |
| Erfahrener Benutzer Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse: Anfänger ![]() | 'never change a running system' ist mein Motto für fertige Projekte. Ausnahme: es betrifft Sicherheitsfragen. Das Projekt von tuki ist aber wohl noch in der Entwicklungsphase, da sollte man schon mit der aktuellen Version arbeiten. |
| | |
| | ||
| Erfahrener Benutzer | Zitat:
__________________ Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. Albert Einstein | |
| | |
| | |
| Neuer Benutzer Registriert seit: 02.02.2012
Beiträge: 6
PHP-Kenntnisse: Anfänger ![]() | Danke für eure schnelle Reaktion. Ok, ich werde also auf phpmailer_5.2.1 umstellen. Das Projekt ist jetzt in der Re-Entwicklungsphase Das ursprüngliche Problem waren gesendete leere E-Mails (durch Aufrufe der sendmail.php, von wem auch immer) Das hat mich dann zu den Fragen der serverseitigen Valdierung gebracht. Ich habe die Seite AntiSpam - PHP form class angesehen ... und inzwischen eingefügt. Mit den Beispielformularfeldern funktioniert es. Aus dem Formulardokument wird der phpmailer aufgerufen, die Datei sendmail.php. Diese wird jedoch immer noch verarbeitet, wenn sie von extern aufgerufen wird. Warum auch nicht? Also besteht mein ursprüngliches Anliegen genau so wie vorher. Wie kann ich die übergebenen Daten in der Datei sendmail.php prüfen, damit kein leeres Dokument versand wird? Ich danke für Anregungen. (Oder für Suchbegriffe - ich weiß nicht genau, wonach ich suchen soll) Geändert von tuki (02.02.2012 um 16:33 Uhr). |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse: Anfänger ![]() | Zitat:
Dort wird dies gezeigt. Kannst auch online testen: Einfaches Beispiel für Antispamformular. | |
| | |
| | |
| Neuer Benutzer Registriert seit: 02.02.2012
Beiträge: 6
PHP-Kenntnisse: Anfänger ![]() | Ja, genau. Das Beispiel läuft. Darauf basierend werde ich mein bestehendes Formular umschreiben. Aber: Die Daten, die ich aus dem Formular erhalte, werden von phpmailer weiterverarbeitet, und zwar mit der Datei sendmail.php, welche die phpmailer-Klasse einbindet. Und wenn diese Datei aufgerufen wird, wird eine leere Mail gesendet. Oder habe ich alles falsch zusammengebaut?? HTML (oder bald php) mit Email-formular Daten werden per submit an sendmail.php übergeben sendmail.php ruft class.phpmailer.php auf und sendet Email. Was kann ich am Ablauf verbessern? Oder muss ich sendmail.php includen? Geändert von tuki (02.02.2012 um 18:06 Uhr). |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse: Anfänger ![]() | Üblicherweise wird das Formular mit in die Anwendung intergiert. So kannst du es einfach realisieren, daß der Nutzer bei Fehlern nicht nochmal alles eingeben muß (-> Beispiel: Maiadresse eingeben und Nachricht leer lassen). Bei mir ist der Aufbau ganz grob so: Code: :
require $ipath.'class.phpmailer.php';
require $ipath.'class.antispam.php';
:
//functionen
:
$asp = new AntiSpam();
:
//POSTs auswerten + prüfen
:
if($allesFuerMailVersandOk) {
//Nachricht senden
:
}
else
{
if($spam) {
echo 'Die Informationsübermittlung wurde abgewiesen. ';
exit();
}
else
{
//Formular ausgeben
}
}
|
| | |
| | ||
| Neuer Benutzer Registriert seit: 02.02.2012
Beiträge: 6
PHP-Kenntnisse: Anfänger ![]() | Zitat:
Ich habe jetzt alles in meine Kontaktformular-Datei geschrieben und es funktioniert. (Noch mit einer Reihe Fehlern im formular, aber das kriege ich hin) Also die sendmail.php nicht per include, sondern direkt eingefügt. Damit kann man sie nicht mehr von extern aufrufen. Erst mal besten Dank für deine Geduld ![]() | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| (Wamp) Phpmailer einbinden in vorhandenes Browsergame | Speed | Server, Hosting und Workstations | 8 | 11.08.2011 14:41 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| phpmailer_v5.1 tutorial, phpmailer formular beispiel, phpmailer fertiges formular, phpmailer kontaktformular beispiel, phpmailer_v5.2.1, phpmailer deutsche anleitung, php serverseitige validierung, phpmailer aufrufen, phpmailer felder bestimmen |