验证码在SSL站点验证时出现404错误



. NET MVC 4项目,我使用的是Microsoft.Web.Helpers(来自NuGet包),我的代码是一个非常基本的ReCaptcha实现。在我看来,我有:

@ReCaptcha.GetHtml(theme: "clean")       

在我的控制器中我有:

Microsoft.Web.Helpers.ReCaptcha.Validate();

复杂性来自于我们正在使用的SSL实现。

我已经添加了适当的设置到我的web.config:

  <system.net>
    <defaultProxy>
      <proxy proxyaddress="http://***proxy script settings**" 
            autoDetect="False" 
            usesystemdefault="False" 
            bypassonlocal="True" />
    </defaultProxy>
  </system.net>

在配置方面似乎没有什么我可以做的,但我得到错误消息

远程服务器返回一个错误:(404)Not Found

当我在控制器的表单post方法上点击recaptcha验证方法时

我在这里找到了一些其他的答案,但他们似乎都建议你改变url,或者升级。由于我使用的是NuGet软件包,我本以为我使用的是最新版本。任何想法或链接与更多的信息非常感谢。我已经在这个网站和google

上找了不少了。编辑:

我发现,在我们的网络条件下,早期版本的firefox在实际呈现重新捕获框时出现了问题,但最新版本的firefox没有问题。由于验证是在控制器上完成的,所以我认为这里没有问题。

经过一番折腾和困惑之后,我发现问题是我们公司的防火墙阻止了对google API的POST(而不是GET)。我之前没有考虑过这个,因为我可以导航到recaptcha使用的服务(http://www.google.com/recaptcha/api/verify)。

我通过构建一个包含帖子所需部分的HTML页面并将其提交到浏览器中找到了这一点。出现了公司的"此页面被阻止"-但是在代码中返回的错误是404。这个错误有点误导人,但这是我们基础设施部门的奇怪行为。

最新更新