ivanamat/cakephp3-captcha

CakePHP 4.5.x - reCAPTCHA 插件

安装数: 6,866

依赖: 0

建议者: 0

安全: 0

星标: 6

关注者: 2

分支: 3

公开问题: 0

类型:cakephp-plugin

2.0 2024-04-04 15:07 UTC

This package is auto-updated.

Last update: 2024-09-04 16:14:04 UTC


README

安装

Composer

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require ivanamat/cakephp-captcha

Git 子模块

git submodule add git@github.com:ivanamat/cakephp-captcha.git plugins/Captcha
git submodule init
git submodule update

入门

https://www.google.com/recaptcha 获取 reCAPTCHA 密钥

配置

在您的 config/bootstrap.php 文件中设置密钥。

    Configure::write('Captcha.secret','MY_SECRET_KEY');

加载组件

initialize() 函数中加载组件

    class MyController extends AppController {

        public function initialize() {
            parent::initialize();

            $this->loadComponent('Captcha.Captcha');
        }

    }

...或者在 组件数组 中加载组件。

    class MyController extends AppController {

        public $components = [
            'Captcha' => [
                'className' => 'Captcha.Captcha'
            ]
        ];

    }

易于使用

控制器

    # MyController

    $ip = getenv('REMOTE_ADDR');
    $gRecaptchaResponse = $this->request->data['g-recaptcha-response'];

    $captcha = $this->Captcha->check($ip,$gRecaptchaResponse);

    if($captcha->errorCodes == null) {
        // Success
    } else {
        // Fail! Maybe a bot?
    }

HTML

在 HTML 模板中 </head> 标签之前粘贴此片段

    <script src='https://www.google.com/recaptcha/api.js'></script>

<form> 标签的末尾粘贴此片段,您希望 reCAPTCHA 小部件出现的位置。将 YOUR-SITEKEY 替换为您自己的站点密钥。

    <div class="g-recaptcha" data-sitekey="YOUR-SITEKEY"></div>

CakePHP 4.x - reCAPTCHA 简介

CakePHP 4.x - Captcha 使用 reCAPTCHA 第三方库。
您可以从官方网站下载 reCAPTCHA:[https://github.com/google/recaptcha)

Google reCAPTCHA

贡献者

Iván Amat 在 GitHubwww.ivanamat.es
BusaniPrepaid 在 GitHub