minimalic/silverstripe-cryptoprotect 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

minimalic/silverstripe-cryptoprotect

最新稳定版本:1.0.3

Composer 安装命令:

composer require minimalic/silverstripe-cryptoprotect

包简介

Proof of Work Captcha Field for Silverstripe CMS 5

README 文档

README

CryptoProtect is a Proof of Work Captcha Form extension for Silverstripe's SpamProtection Module.

The Proof of Work mechanism leverages SHA256 hashing to use the computational power of the client's device, significantly deterring Spam-Bots from flooding forms.

Working demo on iloveunix.com/contact-us.

Requirements

  • Silverstripe CMS version 4 or 5
  • Silverstripe SpamProtection Module version 3 or higher

Installation

Install using Composer:

composer require minimalic/silverstripe-cryptoprotect

Configuration

1. Set default protector

Set CryptoProtect as the default captcha in your project's config (e.g. spamprotection.yml):

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

2. Rebuild Database

Refresh your database by navigating to your website's root directory in the shell and running:
vendor/bin/sake dev/build "flush=all"

Or use your base URL with:
/dev/build?flush=all

3. Generate hashes

In the CMS, navigate to the "admin/cryptographic-challenges" area and generate new hashes.

4. Add field

Add new "Spam Protection Field" to your Form.

Customization

The YAML file

Fine-tune the hashing mechanism in your project's config (e.g. spamprotection.yml). The currently available options with default values:

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

Note: Increasing difficulty_cycles may extend calculation times on slower devices (client-side). A higher hashes_count requires more time for hash regeneration (server-side).

Display options

hide_input_by - Hide input field by using one of available options:

  • bootstrap default, use the "visually-hidden" class
  • style use a "display: none" inline style
  • none show the input field

Note

The hash input field is always shown in browsers with disabled JS as fallback to be able to resolve the challenge by hand.

show_calculation_status - Display a loading spinner/complete checkmark and status text

show_progress_bar - Display a progress bar

hide_after_solving - Hide the spinner/status and/or the progress bar after 4 seconds

Finish customization

Remember to flush your caches (?flush=all) and regenerate hashes in the CMS whenever adjusting the configuration.

For more detailed information on configuring and utilizing the Spam Protection Field, visit the SpamProtection Module repository.

License

See License

Copyright (c) 2024, minimalic.com - Sebastian Finke All rights reserved.

统计信息

  • 总下载量: 26
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2024-04-08