Hm, ist mir noch gar nicht aufgefallen.
Ich hatte nur die Meldung aus der admin.php.
Aber ich weiß auch nicht mehr, ob ich zum Testen angemeldet war.
Moderator: Tata
Hm, ist mir noch gar nicht aufgefallen.
Code: Select all
<?php
function advfrm_custom_mail() {
if (isset($_GET['ad_mailform_subject'])
&& $_GET['ad_mailform_subject'] != '') {
$mail->set('Subject', $_GET['ad_mailform_subject']);
}
?>
Und das hilft halt nicht wirklich viel gegen automatisierte Angriffe. Es sollte nicht schwer sein, die auf dem Server eingestellte Zeitzone herauszufinden, und dann kann der Bot für dieses Feld einfach time()-60 senden. Und wie schon gesagt, solange das CAPTCHA als Text ausgegeben wird, kann dieses prinzipiell sehr leicht ausgehebelt werden (Bot ruft Formular ab, liest den Code aus, und sendet diesen zurück). Für allgemein programmierte Bots (gibt es solche überhaupt?) hilft es natürlich schon, aber die könnte man vermutlich auch mit einem Feld "bitte leer lassen" oder "bitte 42 eintragen" austricksen.
Ist es nicht so, dass beim eingebauten Mailformular der Betreff per GET beim Formularabruf gesetzt wird? Das ist bei Advancedform_XH (noch) nicht vorgesehen. Die Hooks greifen beim Formularversand.
Ja, genau, deswegen
Der Hilfe nach davor.
Formularversand != Mailversand. Wenn das HTML-Formular abgeschickt wird, ist die GET-Variable nicht mehr gesetzt, also kann sie der Hook auch nicht sehen.
Hm, das habe ich nicht bedacht. Aber mein Problem war auch erst mal ein ganz anderes.
Code: Select all
<?php
// Call the Page with "&ad_mailform_subject=XXX"
function advfrm_custom_field_default($form_name, $field_name, $opt, $is_resent) {
if ($field_name == 'FELDNAME'
&& !empty($_GET['ad_mailform_subject'])) {
return $_GET['ad_mailform_subject'];
}
}
function advfrm_custom_mail($form_name, &$mail, $is_confirmation) {
$field_name = 'FELDNAME';
if (!empty($_POST['advfrm-'.$field_name])) {
$mail->set('Subject', stsl($_POST['advfrm-'.$field_name]));
}
}
?>
Auf 5.2.28 sollte kein Problem sein.
Code: Select all
DEPRECATED: Function get_magic_quotes_runtime() is deprecated
/html/xxx/plugins/advancedform/phpmailer/class.phpmailer.php:2714