aldoanizio/makorecaptcha

此包最新版本(dev-master)没有可用的许可证信息。

Mako Framework 4.0 的 Google reCaptcha 包

安装: 18

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 0

开放问题: 0

类型:mako-package

dev-master 2014-07-29 16:44 UTC

This package is auto-updated.

Last update: 2024-08-29 03:52:50 UTC


README

Mako Framework 4.0 的 Google reCaptcha 包。

安装

使用 composer 安装。只需将包添加到您的项目中。

composer require aldoanizio/makorecaptcha:*

因此现在您可以使用单个命令更新项目并安装包。

composer update

注册服务

安装后,您需要在 app/config/application.php 文件中注册一个新的服务。

    /**
     * Services to register in the dependecy injection container.
     */

    'services' =>
    [
        ....
        'makorecaptcha\service\ReCaptchaService',
    ],

配置

配置此包有两种方法。第一种是直接在包文件夹中编辑配置文件:app/packages/makorecaptcha/config/config.php 并输入必要的信息。

如果您喜欢,可以将包的配置文件 app/packages/makorecaptcha/config/config.php 复制到 app/config/packages/makorecaptcha 文件夹中,应用程序将加载该文件而不是包中位于的文件。这可以在更新包的同时保留您的自定义设置。

分配变量模板

在模板视图中使用 captcha 之前,需要将 makoReCaptcha 实例分配给新变量。

$this->view->assign('makoReCaptcha', $this->makoReCaptcha);

显示验证码表单

要使 reCAPTCHA 小部件在页面加载时出现,只需在您的

元素中调用 html 方法。

<form method="post" action="/my/route">

    <?php echo $makoReCaptcha->html(); ?>

    <input type="submit" value"Check Captcha" />

</form>

验证提交数据

要验证提交数据,您需要使用解析 3 个参数的 check 方法。

第一个参数是请求的 IP 地址。

第二个参数是自动生成的 recaptcha_challenge_field 字段。

第三个参数是包含输入数据的 recaptcha_response_field

$captcha = $this->makoReCaptcha->check($this->request->server('REMOTE_ADDR'), $this->request->post('recaptcha_challenge_field'), $this->request->post('recaptcha_response_field'));

现在您需要使用 isValid 方法检查输入数据是否有效。

if($captcha->isValid())
{
    // Lets Go!!
}
else
{
    // Wow, hang on dude!!
}

您还可以使用 isInvalid 方法。

if($captcha->isInvalid())
{
    // Wow, hang on dude!!
}
else
{
    // Lets Go!!
}