unter https://github.com/yakamara/redaxo_yfor ... mschutz.md wird eine Möglichkeit gezeigt, wie man via Zeitstempel Bot-Nachrichten ausschließen kann:
Code: Alles auswählen
php|validate_timer|Spamschutz|<?php echo '<input name="validate_timer" type="hidden" value="'.microtime(true).'" />' ?>|
validate|customfunction|validate_timer|yform_validate_timer|5|Spambots haben keine Chance|
function yform_validate_timer($label,$microtime,$seconds)
{
if (($microtime + $seconds) > microtime(true)) {
return true;
} else {
return false;
}
}
Code: Alles auswählen
$yform->setActionField('php, array(validate_timer, ...'));
$yform->setValidateField('costumfunction', array("validate_timer, ..."));
Code: Alles auswählen
<?php
$yform = new rex_yform();
$yform->setObjectparams('...');
$yform->setValueField('fieldset', array("nachricht", "Nachricht eintragen"));
$yform->setValueField('html', array("details", "<b><i>* Details</i></b><hr>"));
$yform->setValueField('text', array("name","#placeholder:Ihr Name","Name: *"));
$yform->setValidateField('empty', array("name","Sie haben keinen Namen angegeben."));
$yform->setValueField('textarea', array("message","#placeholder:Nachricht hinterlassen","Ihre Nachricht: *"));
$yform->setValidateField('empty', array("message","Sie haben noch keine Nachricht geschrieben."));
$yform->setValueField('captcha', array("Bitte Verifizierungscode eingeben!","Falsche Verifizierung."));
$yform->setActionField('db', array('rex_messages'));
$yform->setActionField('showtext', array("Ihre Nachricht wurde gespeichert.",'<div class="gespeichert">',"</div>","1"));
echo $yform->getForm();
?>