标签: recaptcha

如何在表单提交上验证Google reCaptcha

最近,谷歌彻底彻底检查了他们的reCaptcha API并将其简化为一个复选框.

验证码

问题是,我可以提交包含reCaptcha的表单而不检查它,表单将忽略reCaptcha.

在您必须使用私钥等将表单发送到PHP文件之前,我在他们的开发人员指南中没有看到任何提及.我不知道如何验证表单以确保用户填写新的reCaptcha.

我错过了什么吗?是否仍需要具有私钥的PHP文件?

到目前为止我所有的reCaptcha都是:

<div data-type="image" class="g-recaptcha" data-sitekey="My Public Key"></div>
Run Code Online (Sandbox Code Playgroud)

html php recaptcha

49
推荐指数
6
解决办法
11万
查看次数

设置reCAPTCHA版本2设置除英语之外的其他语言

在此输入图像描述

我怎样才能用另一种语言设置它,即:法国

我试过了:

var RecaptchaOptions = {
     lang : 'fr',
  };
Run Code Online (Sandbox Code Playgroud)

在上面找到了

什么也没做.

我在API 文档的 API参考 - >版本2下找不到相关信息,用于reCAPTCHA

附加信息:

我在轨道上使用它,在gem "recaptcha" 这里找到

javascript recaptcha

45
推荐指数
3
解决办法
3万
查看次数

为了测试目的,是否可以强制使用recaptcha v2失败?(即假装是一个机器人)

我正在按照文档中的说明实现一个不可见的reCAPTCHA:reCAPTCHA V2文档

我已经设法实现它没有任何问题.但是,我想知道的是我是否可以模拟成为机器人进行测试?

有没有办法迫使reCAPTCHA回应,好像它以为我是一个机器人?

在此先感谢您的任何帮助.

recaptcha

42
推荐指数
3
解决办法
2万
查看次数

ReCaptcha在iPhone上无法正常工作

我有一个简单的联系表格的网站.验证有点微小,因为它不会进入数据库; 只是一封电子邮件 表格如下:

有5个字段 - 其中4个是必需的.提交被禁用,直到4个字段有效,然后您可以提交.然后在服务器上再次验证所有内容,包括recaptcha(我的客户端未验证).整个过程使用ajax完成,并且有多个测试必须在服务器端传递或返回4**头,并调用失败回调处理程序.

一切都像桌面上的Chrome浏览器一样(我没有尝试过其他浏览器,但我无法想象他们为什么会有所不同),但是在iPhone上,即使我没有选中复选框,reCaptcha仍会验证考试.

换句话说:我仍然需要正确填写四个值才能提交,但如果我没有选中reCaptcha的方框,请求仍然会成功.

我可以发布一些代码,如果有人认为这将有所帮助,但似乎问题在于设备而不是代码.有没有人对此有任何见解?


注意:如果这有用,服务器端是PHP/Apache.


更新:2015年5月28日:

我还在调试这个,但似乎Mobile Safari忽略了我的iPhone上的响应标题.当我将响应输出到页面时,我在桌面上获得的(data,status,xhr)是:

  1. data:我的回答在这一点上只是说错误或成功 - >error

  2. status: error

  3. xhr: {'error',400,'error'}

在移动野生动物园:

  1. data: error

  2. status: success

  3. xhr: {'error',200,'success'}

所以 - 它似乎只是忽略了我的响应头.我试着明确设置{"headers":{"cache-control":"no-cache"}}但无济于事.


更新:2015年6月3日

每个请求,这是代码.这几乎可以肯定超过你的需要.由于我试图修复它所做的改变,它也变得更加迟钝.另请注意,虽然可能看起来存在尚未定义的变量,但它们(应该)已在其他文件中定义.

The client side

 $('#submit').on('click', function(e) {

    $(this).parents('form').find('input').each(function() {
        $(this).trigger('blur');
    })
    var $btn = $(this);
    $btn = $btn.button('loading');
    var dfr = $.Deferred();

    if ($(this).attr('disabled') || $(this).hasClass('disabled')) {

        e.preventDefault();
        e.stopImmediatePropagation();
        dfr.reject();
        return false;

    } else { …
Run Code Online (Sandbox Code Playgroud)

php iphone validation recaptcha

40
推荐指数
1
解决办法
8593
查看次数

Recaptcha在页面上创建iFrame,打破样式

Recaptcha正在添加一个"此框架防止Safari中的后退/转发缓存问题"iFrame到我的网站顶部(下面包含的代码),这样可以将样式推迟20-30px(大约).

如果我设置display: none;为Firebug中的元素,它修复了问题.

有谁知道为什么这个元素有一个高度(我没有适用于iFrames的CSS)?或者如何设置display:none; 在上面?

<iframe src="about:blank" style="height: 0px; width: 0px; visibility: hidden; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; ">
    This frame prevents back/forward cache problems in Safari.
</iframe>
Run Code Online (Sandbox Code Playgroud)

html css captcha recaptcha

36
推荐指数
3
解决办法
8405
查看次数

使用jQuery Validation Plugin进行新的reCaptcha

我搜索了很多但我无法弄清楚如何在表单提交之前验证新的reCaptcha,以及jQuery validation插件的验证功能.

我的意思是这样的:

    $.validator.addMethod('reCaptchaMethod', function (value, element, param) {
            if (grecaptcha.getResponse() == ''){
                return false;
            } else {
                // I would like also to check server side if the recaptcha response is good
                return true
            }
        }, 'You must complete the antispam verification');


    $("#form").validate({
            rules: {
                name: {
                    required: true,
                    minlength: 2
                },
                email: {
                    required: true,
                    email: true
                },
                reCaptcha: {
                    reCaptchaMethod: true   
                }
            },
            messages: {
                name: "Please fill your name",
                email: "Please use …
Run Code Online (Sandbox Code Playgroud)

javascript php validation jquery recaptcha

36
推荐指数
3
解决办法
6万
查看次数

Recaptcha - 中国的可用性

我们正在开发一个需要使用验证码服务的网站.

有没有人成功使用Google Recaptcha为中国大陆的用户提供网站?

  • 你有加载时间的主要问题吗?
  • 您是否遇到任何可靠性问题?
  • 中国防火墙有什么问题吗?

您可以分享任何经验.

firewall recaptcha

34
推荐指数
1
解决办法
2万
查看次数

ReCaptcha v2客户端事件

难道验证码2版公开任何客户端的事件?我正在寻找具体的方法来确定一旦勾选方框后何时返回了Captcha响应,我就可以显示下面的"继续"按钮.

在此输入图像描述

如果没有这个,用户可以单击复选框,然后在验证码响应返回之前快速单击提交按钮.

我可以将自己的click事件处理程序添加到类中recaptcha-checkbox-checkmark并轮询tick的可见性,我只是想知道是否有更简单的方法来执行此操作?

$(".recaptcha-checkbox-checkmark").click(function() {
    //...Poll for visibility of tick
});
Run Code Online (Sandbox Code Playgroud)

javascript recaptcha

34
推荐指数
2
解决办法
3万
查看次数

如何将reCAPTCHA作为必填字段?

我正在使用Google reCAPTCHA,并且能够将CAPTCHA组件添加到表单内的页面中.但是当我提交表格时,没有进行验证来检查CAPTCHA是否已经解决.

如何在提交表单时验证CAPTCHA组件是否已解决?或者,换句话说,如何使我的CAPTCHA组件成为必需品?

recaptcha

33
推荐指数
5
解决办法
5万
查看次数

Google reCaptcha回复"Uncaught(in promise)null"

我使用reCaptcha v2但在Uncaught (in promise) null任何情况下都在开发控制台响应(并移动.reset()函数)

安慰:

在此输入图像描述

我的recaptcha代码:

<div class="text-xs-center" style="text-align: center; height:150px;">
    <p style="color: black;"> Complete the verification: </p>
    <div style="display: inline-block;" class="g-recaptcha" data-sitekey="xxxxxxxxxxx" data-callback="callback"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的回调函数:

function callback() {
    if (grecaptcha === undefined) {
        alert('Recaptcha non definito'); 
        return; 
    }

    var response = grecaptcha.getResponse();
    console.log(response);

    if (!response) {
        alert('Coud not get recaptcha response'); 
        return; 
    }

    $.ajax({
    'url' : 'validate-recaptcha.php',
    'type' : 'POST',
    'data' : {
        'response' : response   
    },
    'success' : function(data) {              
        alert('Data: '+data);
    }, …
Run Code Online (Sandbox Code Playgroud)

html javascript php ajax recaptcha

33
推荐指数
5
解决办法
2万
查看次数

标签 统计

recaptcha ×10

javascript ×4

php ×4

html ×3

validation ×2

ajax ×1

captcha ×1

css ×1

firewall ×1

iphone ×1

jquery ×1