Implement honeypot field as spam countermeasure
This commit is contained in:
@@ -64,6 +64,13 @@ class AjaxFormController extends ActionController
|
||||
public function processFormAction(ContactForm $contactForm)
|
||||
{
|
||||
$response['status'] = 'ok';
|
||||
|
||||
// Don't take further actions in case honeypot field is filled in
|
||||
// as a spam countermeasure
|
||||
if ($contactForm->getSubject()) {
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
$this->emailService->send(
|
||||
$this->settings['contactFormToEmail'],
|
||||
$this->settings['contactFormToName'],
|
||||
|
||||
@@ -36,6 +36,13 @@ class ContactForm
|
||||
*/
|
||||
protected $formType = 1;
|
||||
|
||||
/**
|
||||
* Honeypot field!!
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $subject;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
|
||||
@@ -117,6 +124,22 @@ class ContactForm
|
||||
$this->formType = $formType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSubject()
|
||||
{
|
||||
return $this->subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $subject
|
||||
*/
|
||||
public function setSubject($subject)
|
||||
{
|
||||
$this->subject = $subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user