我在SSL网站上使用recpatcha,但我没有在某些浏览器上获取图像,因为它的ssl证书已经过期了!
https://api-secure.recaptcha.net/
如果我引用非安全链接,浏览器将发出警告消息.
那么替代方案是什么?
我在ASP.NET MVC下使用它.
我搜索了在iOS应用程序中集成Captcha,但没有找到任何相关的方法.即使我使用reCAPTCHA注册并搜索了Captcha的插件是否适用于iOS?我没有找到iOS的任何插件.在某个地方,当RND我知道"它不需要移动应用程序",但客户想在他的应用程序中使用Captcha,我想知道: -
我们是否可以在iOS App/Mobile Apps中集成Captcha: -
如是?:那么整合它的相关方法是什么.
如果不?:那么相关的原因是什么.
有谁知道如何让" Google ReCAPTCHA(v2) "成为"必需" form?
我的意思是在重新填写之前没有表格提交?
我在我的形式中使用ParsleyJs,但没有找到一种方法使它与divs ...
我在我的表单(HTML5)中使用google的新recaptcha:https: //www.google.com/recaptcha
在表单提交之前,有没有办法在需要时检查并标记recaptcha?我想在客户端而不是服务器端验证这一点.这样,我不必回到表单并警告用户不要为验证码输入任何内容.
我可以用来检查用户是否在recaptcha中输入任何内容的任何javascript?
谷歌的Invisible reCAPTCHA V2是否有任何接近或最好的开源解决方案?还有谷歌的常规reCAPTCHA V2(复选框一)?
我试图在组件中使用vue.js进行recaptcha回调.验证码本身确实有效,但不是我在data-callback属性中定义的回调.
我已经尝试了我能想到的一切,但我仍然得到ReCAPTCHA couldn't find user-provided function: dothisthat错误.
这是组件
<script>
function dothisthat (){
alert(312);
}
</script>
<template>
<div class="well main-well">
<h4>Captcha</h4>
<p class="small">You must complete the captcha to finish your booking.</p>
<div id="captcha-wrapper">
<div class="g-recaptcha" :data-sitekey="captchaKey" data-callback="dothisthat"></div>
</div>
</div>
</template>
<script>
function dothisthat (){
alert(123);
}
import * as filters from '../../../filters';
import Translation from '../../../Translation';
export default {
name: 'Captcha',
props: {
},
computed: {
captchaKey: function() {
return this.$store.getters.captcha;
}
},
methods: {
dothisthat: function(){ …Run Code Online (Sandbox Code Playgroud) 我们已经与 Google recaptcha 集成,它使用用户数据设置了一些 cookie(示例 cookie 是 NID)。5 月 25 日,GDPR 将生效,根据该法律,未经用户同意,网站不得设置任何 cookie。这似乎是有问题的,因为在 Google reCaptcha 的文档中,没有设置 cookie 的信息如何显示它。我不相信我们是唯一有这个问题的人,所以我真的相信你可以帮助我解决我们的问题。
我将接受任何帮助、文档链接、有关防止谷歌重新验证设置 cookie 的魔法参数的信息等。我挖了 2 天,但什么也没找到。我唯一发现的是将于 5 月 25 日生效的新的 Google cookie 政策规则,以及如果用户想要阻止 cookie,他应该在他的浏览器中安装扩展程序的信息,我认为这不符合 GDPR。
谢谢你。
我的用户中只有极少数人会获得一个验证码,要求他们复制并粘贴代码,但它总是会失败 - 而大多数用户都会得到正常的(复选框)正常通过.谷歌搜索只返回三个人获取验证码的实例,其中没有任何有任何有价值的信息
关于为什么他们获得验证码的任何想法,最重要的是它为什么失败?
从我理解的文档中,为了改变recaptcha的语言,我必须明确地呈现它.
然而,问题在于它并没有真正出现,onload甚至没有被调用.
当我尝试自动渲染它时,它确实有效.
这是代码:
在HTML头中:(我也尝试将它放在body标签的末尾)
<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit&hl=iw" async defer></script>
Run Code Online (Sandbox Code Playgroud)
在HTML表单中:
<div id="recaptcha"></div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
var recaptchaCallback = function() {
console.log('recaptcha is ready'); // not showing
grecaptcha.render("recaptcha", {
sitekey: 'My Site Key',
callback: function() {
console.log('recaptcha callback');
}
});
}
Run Code Online (Sandbox Code Playgroud) 我在我的Web应用程序中设置了一个不可见的reCAPTCHA,无法验证用户的响应.(即使我传递了正确的POST参数)
我通过调用grecaptcha.execute();客户端以编程方式调用挑战.然后registrationForm.submit();使用recaptcha回调提交表单()()
<div class="g-recaptcha"
data-sitekey="SITE_KEY"
data-callback="onSubmit"
data-size="invisible">
</div>
Run Code Online (Sandbox Code Playgroud)
现在阅读"验证用户响应"文档后,我发现响应令牌作为POST参数传递给g-recaptcha-response:
对于Web用户,您可以通过以下三种方式之一获取用户的响应令牌:
- 用户在您的站点上提交表单时的g-recaptcha-response POST参数
- ...
所以我使用Fetch在服务器端使用所需的正文数据在验证端点上创建POST请求:
verify(req, res, next) {
const VERIFY_URL = "https://www.google.com/recaptcha/api/siteverify";
return fetch(VERIFY_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
secret: process.env.RECAP_INVIS_SECRET_KEY,
response: req.body['g-recaptcha-response'],
}),
})
.then(response => response.json())
.then(data => {
res.locals.recaptcha = data;
return next();
});
}
Run Code Online (Sandbox Code Playgroud)
但我一直得到以下回应:
{success:false,error-codes:['missing-input-response','missing-input-secret']}
即使我将响应和秘密作为JSON数据传递给POST正文.
难道我做错了什么?问候.
recaptcha ×10
javascript ×5
captcha ×2
html ×2
asp.net ×1
asp.net-mvc ×1
cookies ×1
express ×1
forms ×1
html5 ×1
ios ×1
ipad ×1
iphone ×1
jquery ×1
node.js ×1
open-source ×1
parsley.js ×1
php ×1
post ×1
validation ×1
vue.js ×1