ady/captcha-bundle

Symfony 项目用户和隐私友好的验证码

安装次数: 2,828

依赖项: 0

建议者: 0

安全性: 0

星标: 0

分支: 0

类型:symfony-bundle

v1.0.1 2021-08-07 05:02 UTC

This package is auto-updated.

Last update: 2024-09-07 12:07:08 UTC


README

CaptchaBundle

[![pipeline status](https://gitlab.com/adynemo/captchabundle/badges/main/pipeline.svg)](https://gitlab.com/adynemo/captchabundle/-/commits/main) [![coverage report](https://gitlab.com/adynemo/captchabundle/badges/main/coverage.svg)](https://gitlab.com/adynemo/captchabundle/-/commits/main)

概览

使您的网站更加安全并防止机器人!

此扩展允许您为 Symfony 的表单添加简单且隐私友好的验证码。

没有对 Google 或其他第三方库的依赖。这只是一个简单的挑战,一个用户必须回答的随机问题,以验证表单。

要求

支持版本
Symfony^4.0 / ^5.0
PHP^7.2 / ^8.0

安装

composer require ady/captcha-bundle --prefer-dist

使用

添加字段

使用 CaptchaType 为您的表单添加新字段。一些选项是推荐的

  • mapped 应设置为 false 如果您的表单映射到实体
  • required 应设置为 true

因此,您的验证码字段看起来像这样

use Ady\Bundle\CaptchaBundle\Form\CaptchaType;

->add('captcha', CaptchaType::class, [
    'mapped' => false,
    'required' => true,
])

可用的挑战

  • 辅音

问题: BARBITURIQUE 这个单词的第三个辅音是什么?

答案: B

  • 字母

问题: ESCARPOLETTE 这个单词的第五个字母是什么?

答案: R

  • 元音

问题: JACTANCE 这个单词的第一个元音是什么?

答案: A

机制

问题设计为 %word% 这个单词的 %index% %letter% 是什么? 挑战是从可用的挑战中随机选择的。选择的挑战定义了 %letter% 并随机设置 %index%。然后,%word% 也从一批单词中随机选择(见 Dictionary)。

新的验证码

您可以创建自己的验证码。它应该扩展 AbstractCaptcha 并实现 CaptchaInterface,这就是全部!

贡献

您可以提出新的验证码或任何改进。为此,请fork此存储库并提交一个merge请求。添加一些单元测试是受欢迎的。在提交代码之前,请确保运行 composer test

此外,如果您有任何问题,请提交到