Recaptcha在本地工作,但不在生产中

Jas*_*ber 2 asp.net visual-studio-2010 recaptcha visual-studio

我按照说明如何将Recaptcha添加到我的网站(asp.net 4.0,Visual Studio/VB.当我在本地运行页面时,这只是一个发送电子邮件的简单联系表单页面,recaptcha事情显示正常.不过,我不是程序员.

当我将它移动到生产 - 我将网站(以及dll和pdb移动到app_code文件夹和bin文件夹,Visual Studio自己创建)时,该页面不仅会刷新并且永远不会发送电子邮件 - - 如果你在recaptcha文本框中输入正确或错误的东西并不重要.如果没有重新访问代码,contact.aspx页面将正常运行并立即发送电子邮件.

但是重新包装盒就在那里.我已经阅读过IIS和我的web.config中有关处理程序映射的内容,但是我不够聪明,无法理解我是否必须做任何事情,以及该怎么做.我这里也有IIS 7.0.

更新:当您在文本框中正确输入recaptcha信息时,页面将显示我编码的确认,并发送电子邮件.如果您没有正确输入重新获取信息,而不是发送"请再试一次"消息,它只会刷新页面并让它们重新开始.它没有说"请再试一次",并且不会让客户知道他们错误输入了代码

Mic*_*out 5

您是否使用recaptcha.dll 的reCAPTCHA ASP.NET控件

您需要使用域名注册该服务.您收到的公钥和私钥将根据此域进行检查:

reCAPTCHA仅适用于此域和子域.

请注意以下管理页面截图:

带键的reCAPTCHA管理界面

但是此规则不适用于localhost域,这是您在使用Visual Studio进行开发时使用的域.因此,您可能没有使用注册域名时收到的密钥.当您选择控件并在Visual Studio中从设计视图切换到代码视图时,控件代码应如下所示:

<recaptcha:RecaptchaControl ID="recaptcha" runat="server"
  PublicKey="6Lexn8wSAAAAAIfH1c3-6K3FbSjcKdMj3uiMImI7"
  PrivateKey="6Lexn8wSAAAAAKRFTJXTudJN1owrIQMDahwYv0hg" />
Run Code Online (Sandbox Code Playgroud)

如果没有,您必须输入密钥.这只是一个示例,请勿使用这些密钥,使用您自己帐户中显示的密钥作为您自己的域.