traw/powermailcaptcha

Powermail 验证码扩展

安装次数: 17 181

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 4

开放问题: 3

类型:typo3-cms-extension

2.1.0 2024-09-25 10:09 UTC

This package is auto-updated.

Last update: 2024-09-25 10:34:48 UTC


README

用于TYPO3 powermail的验证码扩展,用于防止垃圾邮件

依赖

  • powermail >= 8.0
  • TYPO3 11 或 12

安装

只需通过composer安装此扩展 composer require traw/powermailcaptcha

Google Recaptcha

  • 将您的域名注册到 www.google.com/recaptcha/
  • 与reCAPTCHA版本2兼容
  • 将sitekey和secretkey添加到TypoScript常量中(以下为示例)
  • 在TypoScript常量中,将验证码方法设置为recaptcha(这是默认设置)

友好的验证码

  • 将您的域名注册到 friendlycaptcha.com
  • 将sitekey和secretkey添加到TypoScript常量中(以下为示例)
  • 在TypoScript常量中,将验证码方法设置为friendlycaptcha

hCaptcha

  • 将您的域名注册到 hcaptcha.com
  • 将sitekey和secretkey添加到TypoScript常量中(以下为示例)
  • 在TypoScript常量中,将验证码方法设置为hcaptcha

Cloudflare

  • 将您的域名注册到 cloudflare.com
  • 将sitekey和secretkey添加到TypoScript常量中(以下为示例)
  • 在TypoScript常量中,将验证码方法设置为cloudflare

Prosopo Procaptcha

  • 将您的域名注册到 prosopo.io
  • 将sitekey和secretkey添加到TypoScript常量中(以下为示例)
  • 在TypoScript常量中,将验证码方法设置为procaptcha

通用

  • 确保已启用spamshield(见下文)
  • 将Powermailcaptcha类型的字段添加到您的powermail表单中
  • 祝您玩得开心

TypoScript常量示例

plugin.tx_powermailcaptcha.captchaMethod = recaptcha
plugin.tx_powermailcaptcha.captchaMethod = friendlycaptcha
plugin.tx_powermailcaptcha.captchaMethod = hcaptcha
plugin.tx_powermailcaptcha.captchaMethod = cloudflare
plugin.tx_powermailcaptcha.captchaMethod = procaptcha
plugin.tx_powermailcaptcha.sitekey = 6LdsBBUTAAAAAKMhI67inzeAvzBh5JdRRxlCwbTz
plugin.tx_powermailcaptcha.secretkey = 6LdsBBUTAAAAAKMhaaaainzeAvzBh5JdRRxlCwbyy

禁用验证码

从版本 >= 1.3.0

如果您希望暂时禁用验证码,只需将以下行添加到您的typoscript常量中:plugin.tx_powermailcaptcha.enable = 0

您也可以在常量编辑器中找到此选项。

验证码语言

从版本 >=1.1.0

当前语言通过语言参数添加到验证码中,该参数来自您的网站配置。

要禁用此行为,请将以下内容添加到您的Typoscript常量中

plugin.tx_powermailcaptcha.useSiteLanguage = 0

根据您的网站语言,并非所有语言都支持每个验证码方法。阅读

有关支持的语言代码的更多信息。

常见陷阱和最佳实践

在powermail中启用spamshield(TypoScript设置)

plugin.tx_powermail.settings.setup.spamshield._enable = 1

保持powermail识别垃圾邮件的更新(TypoScript设置)

# Get an email if spam was recognized
plugin.tx_powermail.settings.setup.spamshield.email = spamreceiver@yourdomain.de

# Write to a logfile when spam was recognized
plugin.tx_powermail.settings.setup.spamshield.logfileLocation = typo3temp/logs/powermailSpam.log

通过将以下内容添加到您的Page TSConfig中删除默认验证码字段:TCEFORM.tx_powermail_domain_model_field.type.removeItems = captcha

破坏性更改 - 从 <1.5.0 升级到 >=1.5.0

typoscript之前在预设typoscript设置文件中自动加载。然而,现在不再是这种情况。在多站环境中,如果某些网站不使用powermail,则不需要typoscript。
在某些情况下,很难覆盖在预设typoscript中设置的设置(例如:ext_typoscript_setup.typoscript)。

因此,从版本1.5.0开始,必须手动将typoscript添加到您的网站的静态模板中。

从1.0.x升级到 >=1.1.x

如果您在自己的扩展中覆盖了powermail的局部Partial/Form/Page.html,请确保将变量languageIso添加到字段(f:render)中。

例如:

<f:render partial="Form/Field/{vh:String.Upper(string:field.type)}" arguments="{field:field, languageIso:languageIso}"/>

如果您在自己的扩展中覆盖了powermail的FormController,请参阅EXT:powermailcaptcha/Classes/Controller/FormController.php以了解此扩展如何添加语言变量。

致谢

本扩展基于einpraegsam的EXT:powermailrecaptcha

变更日志