【问题标题】:Recaptcha 1.0 vs 2.0 in C#C# 中的 Recaptcha 1.0 与 2.0
【发布时间】:2016-04-29 14:33:10
【问题描述】:

我在验证 google 的 Recaptcha 2.0 响应时遇到了困难。 (要清楚,使用https://www.google.com/recaptcha/api.js 的确切脚本)。

我似乎已经很好地遵循了说明以捕获响应,但我随后将响应传递给我的服务器以查看其是否有效,大概是通过使用我的密钥对响应进行计算。

在服务器端,我使用的是 nuget 的“.NET 的 reCAPTCHA 插件”,它是我能找到的所有 reCAPTCHA 库中下载量最多的。版本是1.0.5.0。

但是,使用 RecaptchaValidator,并提供 PrivateKey(秘密密钥)、RemoteIP 和响应,我永远无法让 Validate() 这个东西有效。我不确定 Challenge 字段的用途,我尝试将其设为空白,或者使用我的站点密钥。都不行。

但是,我现在想知道这个库虽然是最受欢迎的,但实际上是否不兼容使用 ReCaptcha 2.0 执行验证命令。也许我遇到了“流行的答案是错误的答案”的情况?

在我开始尝试其他库之前,有没有人使用 ReCaptcha 2.0 和 Nuget 包 1.0.5.0 取得成功?我看到了一些替代品,但下载量很少。

【问题讨论】:

  • 如果你仍然不成功,试试我教程中的代码:wiktorzychla.com/2015/04/… 这个是 mvc,web forms 是下面一个。它为少数工作应用程序提供动力,然后肯定可以工作。
  • 非常好。实际上,我使用 HttpRequest 在处理它的方式上做了非常相似的事情。对于纯粹的代码隐藏验证库(如 v1.0 库)来说,还没有一个小 nuget 包,这太糟糕了,这些库在几行代码中完成了这个代码。我想它很快就会到来..

标签: c# captcha recaptcha


【解决方案1】:

我没有尝试过,但我很确定它不会起作用。

根据this 博客帖子,reCAPTCHA 2.0 于 2014 年 12 月 3 日发布。

NuGet package 最后一次发布于 2011 年 2 月 14 日。

所以就我所见,它不能真正起作用。

也许你可以试试this list 中的一个,它说它可以处理 reCAPTCHA 2.0

This 似乎是最受推荐的一个,从更新日志中可以看出它支持 2.0。

v2.0

  1. 支持 reCAPTCHA v2 API。

【讨论】:

  • 我尝试了一些选项,例如您建议的选项,但发现它们并没有按照我想要的方式工作。最后,我只是使用标准 .NET 库和here 上的信息从头开始编写了验证代码(花了几个小时,但没什么疯狂的)。我将很快将其作为解决方案发布,除非有人可以发布一个库的特定示例,并带有一个经过测试的示例,我认为这将是更清洁的解决方案。
猜你喜欢
  • 2015-07-12
  • 2018-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多