SalesForce Web中的NoCaptcha领导

时间:2015-04-15 08:24:37

标签: asp.net salesforce umbraco recaptcha

我有一个传统的Umbraco ASP.NET站点(v4.7),我已经要求将SalesForce Web放到销售表单上。我已经完成了这项工作,并且与通过垃圾邮件的数量完全相同。

因此,我尝试使用我已成功放置在表单上的Google NoCaptcha小部件,但我不知道如何验证响应。我搜索过的所有示例都使用的是我无法使用的PHP cURL方法。

为了使网站编译更加复杂,我无法访问源文件,因此我无法在解决方案中创建任何控件/类等。

是否可以仅使用'客户端'来验证重新接收回复。 (例如javascript)没有完成后端处理?

非常感谢任何帮助。

谢谢, 克雷格

1 个答案:

答案 0 :(得分:1)

将按钮的enabled属性设置为false

<asp:button id="btnName" enabled="false" text="submit" />

然后在recaptcha容器上:

<div id="asd" class="g-recaptcha" data-callback="EnableButton" data-expired-callback="DisableButton" data-sitekey="your-site-key">
</div>

其中data-callbackdata-expired-callback是小部件的事件。

数据回调:

  成功验证码后调用

数据过期回调:

  会话超时时调用

其中EnableButtonDisableButton是javascript函数,完全按照他们的说法执行。

<script type="text/javascript">
        var DisableButton = function () {
            alert("Confirmation Expired. Please Answer Recaptcha.");
            document.getElementById('<%=btnName.ClientID %>').disabled = true;
            grecaptcha.reset();
        };
        var EnableButton = function () {
            document.getElementById('<%=btnName.ClientID %>').disabled = false;
        };
</script>

但我们确实建议在服务器端验证它。

希望它有所帮助..