myzero1 / yii2-captcha
为yii2设计的简单验证码。只需在配置文件中添加模块并使用小部件即可。
2.1.0
2024-03-01 02:55 UTC
Requires
- yiisoft/yii2: ~2.0
This package is not auto-updated.
Last update: 2024-09-13 05:23:31 UTC
README
为yii2设计的简单验证码。只需在配置文件中添加模块并使用小部件即可。
安装
安装此模块的首选方法是使用 composer。
运行以下命令之一
php composer.phar require myzero1/yii2-captcha:1.*
或
"myzero1/yii2-captcha": "~1"
将以下内容添加到您的 composer.json
文件的 require 部分中。
设置
扩展安装完成后,只需按以下方式修改您的应用程序配置
return [ // ... 'bootstrap' => ['captcha',...], 'modules' => [ 'captcha' => [ 'class' => 'myzero1\captcha\Module', // 'maxLen' => 4, //最大显示个数 // 'minLen' => 4, //最少显示个数 // 'timeout' => 300, //过期时间,单位为秒 // 'key' => 'myzero1自研', //用于验证码加密 // 'source' => '0123456789abcdefghijklmnopqrstuvwxyz', //候选字符,不支持中文的图片渲染,但支持生成中文验证码 // 'width' => 130, //宽度 // 'height' => 32, //高度 // 'bgColor' => '#dddddd', //背景颜色,六位的rgb // 'fontSize' => 24, //字体大小,最大值是 5,这个值对应于 14 像素的字体大小,越大字间距越大 // 'startLeftTopPoint' => [10,5], //字符起点的左上角坐标 // 'noiseSpot' => 50, //干扰点数量 // 'noiseLine' => 3, //干扰线数量 ], // ... ], // ... ];
用法
添加如下上传小部件
echo \myzero1\captcha\widgets\Captcha::widget([
'model' => new \myzero1\captcha\models\Captcha(['scenario'=>'js']),
// 'model' => new \myzero1\captcha\models\Captcha(['scenario'=>'jsPhp']),
'attribute' => 'verifyCode',
'imageOptions'=>[
'alt'=>'点击换图',
'title'=>'点击换图',
'style'=>'cursor:pointer'
]
]);
与 ActiveForm 一起使用
echo $form
// ->field(new \myzero1\captcha\models\Captcha(['scenario'=>'php']),'verifyCode')
->field(new \myzero1\captcha\models\Captcha(['scenario'=>'jsPhp']),'verifyCode')
->widget(
myzero1\captcha\widgets\Captcha::className(),
[
'imageOptions'=>[
'alt'=>'点击换图',
'title'=>'点击换图',
'style'=>'cursor:pointer'
]
]
)
场景选择
- php:仅通过PHP进行验证。
- jsPhp:通过JS和PHP进行验证
您可以通过以下URL访问演示
http://localhost/path/to/index.php?r=captcha/default/demo
如果已启用美观URL,则可以使用以下URL
http://localhost/path/to/index.php/captcha/default/demo