定制 alexeevdv/yii2-recaptcha-widget 二次开发

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

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

alexeevdv/yii2-recaptcha-widget

最新稳定版本:1.2.1

Composer 安装命令:

composer require alexeevdv/yii2-recaptcha-widget

包简介

Google reCAPTCHA widget for Yii2

README 文档

README

Build Status codecov PHP 5.6 PHP 7.0 PHP 7.1 PHP 7.2 PHP 7.3

Yii2 wrapper for Google reCAPTCHA.

Installation

The preferred way to install this extension is through composer.

Either run

$ php composer.phar require alexeevdv/yii2-recaptcha-widget "^1.0"

or add

"alexeevdv/yii2-recaptcha-widget": "^1.0" 

to the require section of your composer.json file.

Configuration

Through application component

'components' => [ //... 'recaptcha' => [ 'class' => \alexeevdv\recaptcha\Recaptcha::class, 'siteKey' => 'YOUR_SITE_KEY', 'secret' => 'YOUR_SECRET', ], //... ],

Through widget and validator params

use alexeevdv\recaptcha\RecaptchaValidator; use alexeevdv\recaptcha\RecaptchaWidget; // Model validation rules public function rules() { return [ //... [ ['recaptcha'], RecaptchaValidator::class, 'secret' => 'YOUR_SECRET', 'minimalScore' => 0.6, 'onScoreReceived' => function ($score) { // Do smth on actual user score. F.e. log it somewhere }, ], //... ]; } // Widget params echo RecaptchaWidget::widget([ 'siteKey' => 'YOUR_SITE_KEY', ]);

Usage

use alexeevdv\recaptcha\RecaptchaValidator; use alexeevdv\recaptcha\RecaptchaWidget; // Using ActiveForm // In this case model validation rules will be applied // You'll need to specify RecaptchaValidator for attribute echo $form->field($model, 'recaptcha')->widget(RecaptchaWidget::class); // As standalone field echo RecaptchaWidget::widget(['name' => 'recaptcha']); // In this case you need to check value manually $validator = new RecaptchaValidator(); $isValid = $validator->validateValue(Yii::$app->request->get('recaptcha'));

Usage in tests

To turn off recaptcha checking you need to add this in your test config:

'container' => [ 'definitions' => [ \alexeevdv\recaptcha\RecaptchaValidator::class => ['skipOnEmpty' => true], ], ], 

Additional component and widget params

/**  * Optional. Color theme of the widget. "dark" or "light"  * @var string  */ public $theme; /**   * Optional. The type of CAPTCHA to serve. "image" or "audio"  * @var string  */ public $type; /**  * Optional. The size of the widget. "compact" or "normal"  * @var string  */ public $size; /**  * Optional. The tabindex of the widget and challenge.  * If other elements in your page use tabindex, it should be set to make user navigation easier.  * @var integer  */ public $tabindex; /**  * Optional. The name of your callback function, executed when the user submits a successful response.  * The g-recaptcha-response token is passed to your callback.  * @var string|JsExpression  */ public $callback; /**  * Optional. The name of your callback function, executed when the reCAPTCHA response expires  * and the user needs to re-verify.  * @var string|JsExpression  */ public $expiredCallback; /**  * Optional. The name of your callback function, executed when reCAPTCHA encounters an error   * (usually network connectivity) and cannot continue until connectivity is restored. If you specify   * a function here, you are responsible for informing the user that they should retry.  * @var string|JsExpression  */ public $errorCallback; /**  * Optional. Forces the widget to render in a specific language  * If not set then language is auto detected from application language  * If set to false then language is autodetected on client side  */ public $language;

统计信息

  • 总下载量: 50.81k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固