ady / captcha-bundle
Symfony 项目用户和隐私友好的验证码
v1.0.1
2021-08-07 05:02 UTC
Requires
- php: >=7.2
- symfony/form: ~4.0|~5.0
- symfony/framework-bundle: ~4.0|~5.0
- symfony/translation: ~4.0|^5.0
- symfony/validator: ~4.0|^5.0
- twig/twig: ^2.10|^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^7.5.15|^8.5|^9.0
- symfony/phpunit-bridge: ^4.0|^5.0
README
CaptchaBundle
[](https://gitlab.com/adynemo/captchabundle/-/commits/main) [](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
。
此外,如果您有任何问题,请提交到