【问题标题】:Validating recaptcha on server side在服务器端验证 recaptcha
【发布时间】:2011-04-28 11:13:20
【问题描述】:

我在我们的一个项目中使用 Google recaptcha。我在 aspx 页面中添加了 recaptcha 控件。现在我想验证在 recaptcha 中输入的值是否正确。我如何在按钮单击事件中完成它?我正在使用 c#。

【问题讨论】:

  • 您的意思是您使用的是Google's ASP.NET control?还是您自己在页面上嵌入验证码脚本?
  • @Rup:是的,我正在使用谷歌recaptcha。为此,首先添加了 Recaptcha.dll,然后添加了 recaptcha 控件

标签: c# asp.net recaptcha


【解决方案1】:
if(Page.IsValid) //Will be true if captcha text is correct otherwise it will be false
{
 //***your code****

}

编辑: 称呼 Page.Validate() 在检查条件之前

【讨论】:

  • 它在 Page.IsValid 中不起作用。它总是返回 true。当我使用 recaptcha.validate() 之后,当检查 recaptcha.IsValid 它的工作时。但我不确定它是否是正确的方法
  • 是的,这或多或少是正确的:您通常调用Page.Validate,它会检查页面上的所有控件。来自IsValid MSDN:“您应该仅在调用 Page.Validate 方法后检查此属性,或者在启动表单处理的 ASP.NET 服务器控件的 OnServerClick 事件处理程序中将 CausesValidation 属性设置为 true。”跨度>
  • @Rup:所以如果我只想验证 recaptcha 而不是所有控件,那么我可以使用 recaptcha.validate 和 recaptcha.IsValid。
【解决方案2】:

如果您使用的是 ASP.NET reCaptcha 控件, 你需要手动调用

recaptcha.Validate()

在检查 recaptcha.IsValidPage.IsValid 属性之前。

【讨论】:

    【解决方案3】:

    显然它不适用于 ASP.NET ValidationGroups。如果您有 ValidationGroup,则需要在检查 recaptcha.IsValid 或 Page.IsValid 之前手动调用 recaptcha.Validate()。

    【讨论】:

      【解决方案4】:

      C# 必须使用 recaptcha.Validate() depois 你可以使用检查 Page.IsValid

      【讨论】:

        猜你喜欢
        • 2015-03-02
        • 1970-01-01
        • 2019-04-21
        • 2015-02-01
        • 2022-06-13
        • 1970-01-01
        • 2018-04-28
        • 2017-08-09
        • 2015-04-01
        相关资源
        最近更新 更多