定制 minimalic/silverstripe-cryptoprotect 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

minimalic/silverstripe-cryptoprotect

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.

minimalic/silverstripe-cryptoprotect 适用场景与选型建议

minimalic/silverstripe-cryptoprotect 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 04 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「captcha」 「silverstripe」 「spamprotection」 「antispam」 「sha256」 「cryptoprotect」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 minimalic/silverstripe-cryptoprotect 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 minimalic/silverstripe-cryptoprotect 我们能提供哪些服务?
定制开发 / 二次开发

基于 minimalic/silverstripe-cryptoprotect 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

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