tritum / turnstile
TYPO3 扩展,用于向 EXT:form 添加 Turnstile
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 扩展,用于向 EXT:form 添加 Turnstile
此 TYPO3 扩展为 TYPO3 表单框架 (EXT:form) 提供了 Turnstile 集成。Turnstile 是 Cloudflare 提供的免费 captcha 替代品。它与 GDPR 兼容。更多信息请查看 Turnstile 网站。
我们受到了一篇发表在 heise.de 的文章的启发。该文章指出,机器人解决 captcha 的能力比以往任何时候都要好。2022 年,Cloudflare 发布了 Turnstile 作为 captcha 的替代品,请参阅 1 和 2。
快速设置
- 安装扩展并激活它。
- 将静态 TypoScript 配置添加到您的 TypoScript 模板中。
- 获取 Turnstile 的
site_key
和privateKey
。适当设置 TypoScript 常量。 - 将一个
Turnstile
元素添加到一个表单中。 - 完成!
获取您网站的 Turnstile 密钥
您需要从 Cloudflare 获取两个 API 密钥。获取这些密钥是免费的。打开您的 Cloudflare 控制台。为您的网站添加一个新条目。为此,提供网站名称和域名。这也适用于多个环境,只需提供域名,例如 tritum.de
。任何子域名或本地域名都将受到支持。
此外,您可以选择三种不同的挑战模式。更多信息请参见: https://developers.cloudflare.com/turnstile/reference/widget-types/。
TypoScript 常量
设置以下 TypoScript 常量
plugin.tx_turnstile {
settings {
# Get API keys at https://dash.cloudflare.com/?to=/:account/turnstile
siteKey = <your-site-key>
privateKey = <your-private-key>
}
}
环境变量
作为 TypoScript 配置的替代方案,您还可以使用环境变量
TURNSTILE_SITE_KEY
TURNSTILE_PRIVATE_KEY
内容安全策略
如果您使用 CSP,请确保相应调整它们
- script-src 应包括
https://challenges.cloudflare.com
- frame-src 应包括
https://challenges.cloudflare.com
- style-src 应包括
https://challenges.cloudflare.com
隐私
请确保告知您的用户您对 Turnstile 的使用情况以及这意味着什么。
更多信息请参见: https://www.cloudflare.com/de-de/trust-hub/gdpr/。
帮助与支持
请使用 GitHub 进行问题跟踪。更多信息请参见: https://github.com/tritum/turnstile/issues。
感谢
向 Ralf Zimmermann 表示衷心的感谢。他是 TYPO3 表单框架的幕后推手,最初创建了此扩展。TRITUM 提出了这个想法,并维护了这段精美的代码。