pessek/elgg_recaptcha

Elgg Recaptcha

安装次数: 4

依赖关系: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

类型:elgg-plugin

v2.0.5 2021-06-02 22:23 UTC

This package is auto-updated.

Last update: 2024-09-29 06:08:38 UTC


README

使用谷歌Recaptcha保护表单

此插件提供了可配置特定操作的Recaptcha验证。可以通过插件设置选择操作。动作的表单将具有插入到存在的 .elgg-foot div 中的 recaptcha,或者直接在最后一个提交输入之上。

注意事项:此功能仅适用于遵循标准 Elgg 模式并使用 elgg_view_form() 的表单/动作对。

除了独立使用外,此插件还提供了一个简单的视图,用于程序性地插入 captcha,以及一个用于验证响应的函数。

安装

解压/克隆到您 Elgg 安装的 mod 目录。

https://www.google.com/recaptcha/admin/create 上注册谷歌 recaptcha 并生成公钥/私钥对。

启用插件,在设置中输入密钥,选择默认渲染设置。

高级使用

可以将 recaptcha 插入到任何具有视图的标记中

echo elgg_view('input/recaptcha');

不需要参数,如果没有传递任何参数,则 recaptcha 将使用插件设置中存储的默认选项渲染。显式传递的参数将覆盖默认值。

视图的可选参数包括

theme: The visual design of the recaptcha ('light' | 'dark')
size: The size of the recaptcha ('normal' | 'compact')
type: Type of challenge to perform ('image' | 'audio')
form: jquery selector of a form to position the recaptcha in eg. '.elgg-form-register'

要验证动作,请使用以下函数

\Beck24\ReCaptcha\validate_recaptcha();

此函数简单地返回 captcha 响应是否有效的布尔值。使用方法可能如下所示

// In our action file or action hook
if (!\Beck24\ReCaptcha\validate_recaptcha()) {
    // invalid recaptcha
    elgg_make_sticky_form('my/form');
    register_error(elgg_echo('elgg_recaptcha:message:fail'));
    forward(REFERER);
}

// we passed, proceed with the action