pessek/elgg_recaptcha
Elgg Recaptcha
v2.0.5
2021-06-02 22:23 UTC
Requires
- php: >=7.1
- composer/installers: ~1.0
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