minimalic/silverstripe-cryptoprotect

Silverstripe CMS 5的Proof of Work Captcha字段

安装次数: 24

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

1.0.3 2024-05-05 22:58 UTC

This package is auto-updated.

Last update: 2024-09-21 20:20:50 UTC


README

CryptoProtect是Silverstripe的SpamProtection模块的Proof of Work Captcha表单扩展。

Proof of Work机制利用SHA256散列算法来利用客户端设备的计算能力,显著阻止Spam-Bots填充表单。

iloveunix.com/contact-us上有工作演示。

要求

  • Silverstripe CMS版本4或5
  • Silverstripe SpamProtection模块版本3或更高

安装

使用Composer安装

composer require minimalic/silverstripe-cryptoprotect

配置

1. 设置默认保护器

在项目的配置(例如spamprotection.yml)中将CryptoProtect设置为默认的captcha

SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
  default_spam_protector: minimalic\CryptoProtect\Forms\CryptographicChallengeProtector

2. 重建数据库

通过在shell中导航到您的网站根目录并运行以下命令来刷新您的数据库:
vendor/bin/sake dev/build "flush=all"

或使用您的base URL:
/dev/build?flush=all

3. 生成散列

在CMS中,导航到“admin/cryptographic-challenges”区域并生成新的散列。

4. 添加字段

将新的“Spam Protection Field”添加到您的表单中。

自定义

YAML文件

在项目的配置中微调散列机制(例如spamprotection.yml)。当前可用的选项及其默认值

minimalic\CryptoProtect\Models\CryptographicChallenge:
  difficulty_cycles: 100000
  hashes_count: 20
  hide_input_by: 'bootstrap'
  show_calculation_status: true
  show_progress_bar: true
  hide_after_solving: true

注意:增加difficulty_cycles可能会在较慢的设备上延长计算时间(客户端)。更高的hashes_count需要更多时间来再生散列(服务器端)。

显示选项

hide_input_by - 使用可用选项之一隐藏输入字段

  • bootstrap 默认,使用“visually-hidden”类
  • style 使用“display: none”内联样式
  • none 显示输入字段

注意

哈希输入字段始终在禁用JS的浏览器中显示,作为手动解决挑战的回退。

show_calculation_status - 显示加载旋转器/完成的勾选标记和状态文本

show_progress_bar - 显示进度条

hide_after_solving - 在4秒后隐藏旋转器/状态和/或进度条

完成自定义

记得在调整配置时清除您的缓存(?flush=all)并在CMS中重新生成散列。

有关配置和利用Spam Protection字段的更详细信息,请访问SpamProtection模块存储库。

许可证

查看许可证

版权所有(c)2024,minimalic.com - Sebastian Finke 保留所有权利。