myzero1/yii2-captcha

为yii2设计的简单验证码。只需在配置文件中添加模块并使用小部件即可。

安装: 132

依赖关系: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:yii2模块

2.1.0 2024-03-01 02:55 UTC

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