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 = LoggerDevLog
}