tritum / turnstile
TYPO3 Extension to add Turnstile to EXT:form
Installs: 2 026
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 2
Type:typo3-cms-extension
Requires
- php: ^8.1 | ^8.2
- ext-json: *
- ramsey/uuid: ^4.7
- typo3/cms-core: ^11.5.0 || ^12.4.0
- typo3/cms-extbase: ^11.5.0 || ^12.4.0
- typo3/cms-fluid: ^11.5.0 || ^12.4.0
- typo3/cms-form: ^11.5.0 || ^12.4.0
- usarise/turnstile: ^0.4.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16 | ^3.13
- helmich/typo3-typoscript-lint: ^2.3 | ^3.0
- overtrue/phplint: ^2.0 | ^5.3
- phpspec/prophecy-phpunit: ^2.0
- phpstan/extension-installer: ^1.0
- phpunit/phpunit: ^9.4
- roave/security-advisories: dev-latest
- saschaegerer/phpstan-typo3: ^1.8
- typo3/cms-fluid-styled-content: ^11.5@dev || ^12.1@dev
- typo3/coding-standards: ^0.3 | ^0.5
- typo3/testing-framework: ^7.x-dev
- vimeo/psalm: ^3.0 | ^4.0 | ^5.0
- zbateson/mail-mime-parser: ^2.0
Suggests
- vlucas/phpdotenv: ^2.4
README
TYPO3 Extension to add Turnstile to EXT:form
This TYPO3 extension provides a Turnstile integration for the TYPO3 Form Framework (EXT:form). Turnstile is a free captcha alternative provided by Cloudflare. It is GDPR compatible. For more information check the Turnstile website.
We were inspired by an article published on heise.de. The article states that bots are better than ever in solving captchas. In 2022, Cloudflare released Turnstile as an alternative to captchas, see 1 and 2.
Quick Setup
- Install the extension and activate it.
- Add the static TypoScript configuration to your TypoScript template.
- Get a Turnstile
site_key
and aprivateKey
. Set the TypoScript Constants appropriately. - Add a
Turnstile
element to a form. - All done!
Get Turnstile keys for your website
You need two API keys from Cloudflare. Retrieving those keys is free of
charge. Open your Cloudflare dashboard.
Add a new entry for your website. In order to do so, provide a name of the website
and the domain. This also works for multiple environments, just provide the domain
like tritum.de
. Any subdomain or local domain will also be supported.
Furthermore, you can choose between three different modes for the challenge. For more information see: https://developers.cloudflare.com/turnstile/reference/widget-types/.
TypoScript Constants
Set the following TypoScript Constants:
plugin.tx_turnstile {
settings {
# Get API keys at https://dash.cloudflare.com/?to=/:account/turnstile
siteKey = <your-site-key>
privateKey = <your-private-key>
}
}
Environment variables
As an alternative to the TypoScript configuration, you can also use environment variables:
TURNSTILE_SITE_KEY
TURNSTILE_PRIVATE_KEY
Content Security Policy
If you are using CSP, make sure to adjust them accordingly:
- script-src should include
https://challenges.cloudflare.com
- frame-src should include
https://challenges.cloudflare.com
- style-src should include
https://challenges.cloudflare.com
Privacy
Make sure to inform your users of your usage of Turnstile and what that means.
For more information see: https://www.cloudflare.com/de-de/trust-hub/gdpr/.
Help & Support
Please use GitHub for issue tracking. For more information see: https://github.com/tritum/turnstile/issues.
Kudos
A big kudos to Ralf Zimmermann. He is the brain behind the TYPO3 Form Framework and created this extension initially. TRITUM came up with the idea and maintains this peace of fine coding.