ivanamat / cakephp3-captcha
CakePHP 4.5.x - reCAPTCHA 插件
2.0
2024-04-04 15:07 UTC
Requires
- php: >=7.4
- cakephp/cakephp: 4.5.x
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)
贡献者
Iván Amat 在 GitHub 和 www.ivanamat.es
BusaniPrepaid 在 GitHub