[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Bug beim Mailversand - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
alex2911
Beiträge: 567
Registriert: 20. Jul 2005, 04:13
Wohnort: Österreich
Kontaktdaten: Website

Bug beim Mailversand

16. Sep 2005, 13:13

Unter bestimmten Umständen ist es möglich, über das Redaxo-Kontaktformular Spam zu versenden. Ich habe mir zwar die Klasse nicht angesehen, jedoch im Mailvormular eine Sperre eingebaut sodass der mail-header nicht verändert werden kann.
(Mit den Fieldsets kam ich leider nicht klar wodurch ich es ausgeblendet habe)

Die Änderungen:

Code: Alles auswählen

$error = false;
if (eregi('Content-Type:', $mail_to)) $error = true;
if (eregi('Content-Type:', $mail_from)) $error = true;
if (eregi('Content-Type:', $FORM[firma])) $error = true;
if (eregi('Content-Type:', $FORM[plz])) $error = true;
if (eregi('Content-Type:', $FORM[strasse])) $error = true;
if (eregi('Content-Type:', $FORM[vorname])) $error = true;
if (eregi('Content-Type:', $FORM[name])) $error = true;
if (eregi('Content-Type:', $mailbody)) $error = true;


if ($error == true){ echo 'Das Mailformular konnte leider nicht aufgerufen werden. Bitte versuchen Sie es erneut';
exit();
}
Das Formular als ganzes:

Code: Alles auswählen

<?php
if(!isset($FORM[send])){
$FORM[send] = "";
}

$w_style = 'class="warning"';
$warning = "";
$korrektur = "<p $w_style>Bitte korrigieren Sie die rot gekennzeichneten Felder bzw. füllen Sie die notwendigen Felder aus. <br /></p>";
$danksagung = "<p>Vielen Dank für Ihr Interesse. Wir werden uns schnellst möglichst mit Ihnen in Verbindung setzen.</p>";
$msg = "";

if($FORM[send] != ""){

if(trim($FORM[vorname]) == ""){$warning[vorname] = $w_style;}
if(trim($FORM[name]) == ""){$warning[name] = $w_style;}
if(!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',$FORM[email])){$warning[email] = $w_style;}


if(is_array($warning)){

$FORM[send] = "";
$msg = $korrektur;

}else{

$mailbody = "

Anliegen:
".stripslashes($FORM[anliegen])."

Name: ".stripslashes($FORM[name])."
Vorname: ".stripslashes($FORM[vorname])."
Firma: ".stripslashes($FORM[firma])."
Strasse: ".stripslashes($FORM[strasse])."
PLZ/Ort: ".stripslashes($FORM[plz])."
E-Mail: ".stripslashes($FORM[email]);


$subject = "Kontaktformular";
$mail_to = $REX[error_emailaddress];
$mail_from = $FORM[email];

$mailbody_prefix = "";
$mailbody_postfix = ' IP: ' . $_SERVER["REMOTE_ADDR"];

$error = false;
if (eregi('Content-Type:', $mail_to)) $error = true;
if (eregi('Content-Type:', $mail_from)) $error = true;
if (eregi('Content-Type:', $FORM[firma])) $error = true;
if (eregi('Content-Type:', $FORM[plz])) $error = true;
if (eregi('Content-Type:', $FORM[strasse])) $error = true;
if (eregi('Content-Type:', $FORM[vorname])) $error = true;
if (eregi('Content-Type:', $FORM[name])) $error = true;
if (eregi('Content-Type:', $mailbody)) $error = true;


if ($error == true){ echo 'Das Mailformular konnte leider nicht aufgerufen werden. Bitte versuchen Sie es erneut';
exit();
}
$mail = new PHPMailer();
$mail->AddAddress($mail_to);
$mail->From = $mail_from;
$mail->FromName = $FORM[vorname]." ".$FORM[name];
$mail->Subject = $subject;
$mail->Body = $mailbody_prefix.$mailbody.$mailbody_postfix;
$mail->Send(); 

$msg = $danksagung;
}


}

$out = /*'<h2>Nehmen Sie Kontakt auf</h2>'*/'';

if($msg == $danksagung) {
$out .= $msg;
}
elseif($msg != "") {
$msg = '<p>'.$msg.'</p>';
}

if($FORM[send] == ""){

$out .= '
<form action="index.php" method="post" name="kontaktform">
<br />
<!-- <fieldset>
<legend>Kontaktformular</legend> -->

<input type="hidden" name="article_id" value="5" />
<input type="hidden" name="FORM[send]" value="1" />
<input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />

'.$msg . '


<div class="links1">Name*</div><div class="links2"><input '.$warning[name].' type="text" name="FORM[name]" value="'.stripslashes(htmlentities($FORM[name])).'" /></div><div class="links1">Vorname*</div><div class="rechts_endex"><input '.$warning[vorname].' type="text" name="FORM[vorname]" value="'.stripslashes(htmlentities($FORM[vorname])).'" /></div>
<div class="links1">Firma</div><div class="links2"><input '.$warning[firma].' type="text" name="FORM[firma]" value="'.stripslashes(htmlentities($FORM[firma])).'" /></div><div class="links1"></div><div class="rechts_endex"></div>
<div class="links1">Strasse</div><div class="links2"><input '.$warning[strasse].' type="text" name="FORM[strasse]" value="'.stripslashes(htmlentities($FORM[strasse])).'" /></div><div class="links1">PLZ/Ort</div><div class="rechts_ende"><input '.$warning[plz].' type="text" name="FORM[plz]" value="'.stripslashes(htmlentities($FORM[plz])).'" /></div>
<div class="links1">Mail*</div><div class="links2"><input '.$warning[email].' type="text" name="FORM[email]" value="'.stripslashes(htmlentities($FORM[email])).'" /></div><div class="links1">&nbsp;</div><div class="rechts_ende">&nbsp;</div>


<div>Zusätzliche Bemerkungen</div>
<div><textarea cols="40" rows="3" '.$warning[anliegen].' name="FORM[anliegen]">'.stripslashes(htmlentities($FORM[anliegen])).'</textarea></div>


<div><a href="#" onclick="document.forms.kontaktform.submit();" target="_self">senden >></a></div>
<!-- </fieldset> -->
</form>';

}

echo $out;

?>
Vielleicht hilft es jemandem.

LG Alex

Zurück zu „Allgemeines [R3]“