wsm / form-spamshield
通过JavaScript添加机器人检测和验证器到EXT:form,无需验证码即可符合GDPR。
1.4.0
2024-09-16 15:41 UTC
Requires
- php: >=7.0,<8.4
- typo3/cms-core: >=10.4.0,<12.4.99
- typo3/cms-form: >=10.4.0,<12.4.99
Replaces
- typo3-ter/wsm_form_spamshield: 1.4.0
README
通过JavaScript添加机器人检测和验证器到EXT:form,无需验证码即可符合GDPR。
工作原理
该防护盾使用两个组件
第一个组件是JavaScript,它会检查浏览器并检查当前用户是否是人类。简单的事情,比如浏览器宽度,用户是否按下了键,用户是否移动了鼠标等等。没有个人信息。但必须启用JavaScript,否则垃圾邮件防护盾将检测用户为机器人。
第二个组件是验证器,它会检查JavaScript的结果。您可以在表单字段定义中配置1到10的安全级别,验证器会尊重这个级别。1表示10%的安全检查必须成功,10表示100%必须成功。
请记住可访问性,有些人,例如,无法使用鼠标。因此,将安全级别设置为9或10可能对某些人来说不可访问。
您可以选择设置表单超时。这是一个以秒为单位的价值,它定义了在接收表单提交之前的超时时间。例如,机器人非常快,所以人类需要更多的时间来填写表单。您可以根据您认为人类需要填写表单的最小秒数设置自定义值。(请记住,浏览器的自动填充可能非常快。)
如何安装
您可以通过composer安装此扩展
composer req wsm/form-spamshield
您也可以通过TER安装此扩展
安装后,刷新TYPO3和PHP缓存。
如何使用
将带有验证器的安全检查字段添加到您的表单定义中,如下所示
- type: SecureCheck identifier: securitycheck label: 'Security check against robots' validators: - identifier: SpamSecurityCheck options: securityLevel: 5 formTimeout: 10 properties: secureCheckSuccessMessage: 'Validation passed' validationErrorMessages: - code: 1221559976 message: 'Sorry, the security check identified you as a robot. To pass the security check, you must perform more actions on this page that are typical for a human visitor. And JavaScript must be enabled.'
您也可以通过表单编辑器将带有验证器的安全检查字段添加到您的表单定义中。在某些情况下这可能很有用。