This project is no longer maintained and no further public releases are planned.

No further support will be given.

Feel free to fork the git repository.

Interceptor_AntiSpamFormTime

Spam protection for the form without Captcha. It parses the time the user needs to fill out the form. If the time is below a minimum time or over a maximum time, the submission is treated as Spam.

If Spam is detected you can redirect the user to a custom page or use just the subpart ###TEMPLATE_ANTISPAM### to display something.

Version added

1.0.0

TypoScript path

plugin.Tx_Formhandler.settings.saveInterceptors.x copy to clipboard

Important

You will need a form field named “formtime” containing a timestamp in your form. To do this you can use the marker ###TIMESTAMP###.

Example code

<input type=”hidden” name=”formhandler[formtime]” value=”###TIMESTAMP###” />

Properties

.templateFile

Path to template file or template code

Data type

String / cObj

Version added

1.0.0

.minTime.value

Interval value.

Data type

Integer - cObj

Version added

1.0.0

.minTime.unit

Unit of the minimum time.
The unit can be seconds, minutes, hours, and days

Data type

String | cObj

Version added

1.0.0

.maxTime.value

Interval value.

Data type

Integer - cObj

Version added

1.0.0

.maxTime.unit

Unit of the maximum time.
The unit can be seconds, minutes, hours, and days

Data type

String | cObj

Version added

1.0.0

.redirectPage

Page ID or URL to redirect in case Spam is detected

Data type

String | cObj

Version added

1.0.0

.correctRedirectUrl

Replaces  '&amp;' with '&' in URL

Data type

Boolean

Version added

1.0.0

.additionalParams

Adds additional parameters to the redirect URL. Each parameter can be a string or a TypoScript object.

Data type

Array

Version added

1.0.0

.headerStatusCode

Set a custom header code set when redirecting to another page.

Data type

String | cObj

Default value

307 Temporary Redirect

Version added

1.3.0

.loggers

Same as for the global Loggers.

Data type

Array

Version added

1.0.0

Example code

loggers {
  1.class = Logger_DB
  2.class = Logger_DevLog
}