【问题标题】:Install ReCaptcha to Umbraco V7将 ReCaptcha 安装到 Umbraco V7
【发布时间】:2020-10-23 16:29:06
【问题描述】:

我想将 ReCaptcha 安装到我们的 Umbraco 版本 7。但我似乎找不到正确的方法。基本上我想在我的自定义表单(不是 Umbraco 表单)中添加验证码元素。有没有办法做到这一点?似乎添加 Recaptcha 的方法与您在 PHP 应用程序中添加它的方法不同。我应该如何在 Umbraco 中做到这一点?

更新: Recaptcha 版本可以是版本 1、2 或 3

【问题讨论】:

  • 哪个 reCaptcha 版本?
  • 可以是版本 1 2 或 3,只要添加 recaptcha 即可

标签: c# asp.net umbraco recaptcha umbraco7


【解决方案1】:

reCaptcha V2 只需要插入几行简单的 HTML,AFAIK。只要您有 API 密钥,您就应该能够在自定义表单中的表单元素内的任何位置(如果您正在这样做,则在 Html.BeginForm 内)插入脚本标记和 HTML 元素。我前几天做了这个,效果很好。

https://developers.google.com/recaptcha/docs/display

它不需要“安装”,但它需要一些代码。

【讨论】:

  • 嗨@Jannik 感谢您的回复。我们如何验证 Recaptcha 是否正确?有没有办法验证 recaptcha 令牌是否有效?如果它无效,我会在我的控制器中抛出一个错误
【解决方案2】:

不久前我在这里写了一篇关于它的帖子,https://www.jondjones.com/learn-umbraco-cms/umbraco-7-tutorials/umbraco-security/how-to-add-a-recapture-within-your-umbraco-website/

快速的选择是通过 Nuget 安装 recaptha mvc,然后用 CaptchaValidator 装饰你的控制器并在你的 HTML 中使用 Recaptcha

【讨论】:

  • 谢谢。不知道为什么,但我似乎无法让它工作。无论如何,我找到了一个更详细的解释和教程来添加一个 recaptcha
【解决方案3】:

在您的控制器中,只需检查表单值并从中获取验证码值,如下所示,如果该值为 null,则该人尚未填写,否则它将有一个值。

var formData = Request.Form;
var captchaRequest = formData["g-recaptcha-response"];
if (string.IsNullOrWhiteSpace(captchaRequest))
{
    TempData["formError"] = "Fill in the Captcha box.";
    return CurrentUmbracoPage();
}

【讨论】:

    【解决方案4】:

    好的,我在Blog找到了一个详细解释的解决方案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 2014-03-02
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多