问题标签 [grecaptcha]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
135 浏览

gatsby - Google Recaptcha & Gatsby 错误:reCAPTCHA 占位符元素必须是元素或 id

我正在尝试将 recaptcha v2 添加到我的 Gatsby/Netlify 站点表单中,但我错过了实际显示小部件的最后一部分。它只是没有显示它的放置位置。

到目前为止,我的代码是这样的

gatsby-ssr.js 文件:

以及联系方式:

在我将任何 Netlify 属性添加到我的表单之前,出现了错误“未捕获(承诺)错误:reCAPTCHA 占位符元素必须是元素或 id”,所以我很确定这与它无关。

有任何想法吗?谢谢。

0 投票
0 回答
231 浏览

recaptcha - 在同一页面上加载 Enterprise Recaptcha (invisble) 和 V2 Checkbox (non-enterprise) 会导致 V2 Checkbox 默认为 Enterprise

我需要在同一页面上加载 V2 Checkbox(非企业)和 Enterprise reCaptcha。

表格 A 需要使用 V2(非企业)“我不是机器人”复选框。

Form B 需要使用 Enterprise invisible ReCaptcha。

表单 A 和表单 B 呈现在同一页面上。每个表单使用单独的 API 密钥(表单 A 使用非企业 API 密钥,表单 B 使用企业 API 密钥)。

在我的情况下,首先加载非企业 reCaptcha 脚本,然后加载企业脚本。但是,当我检查 Form AI am not a robot复选框(应该使用非企业功能)时,Form A 似乎使用 Enterprise reCaptcha。这是我看到的情况:

  1. 单击I am not a robot表格 A 上的复选框后,有时会显示视觉挑战验证(“选择所有带有出租车的图像”)块。据我了解,这是一项企业功能。我的表单应该使用 V2(非企业版),所以不知道为什么会出现这种情况?
  2. 单击I am not a robot表格 A 上的复选框后,网络选项卡会显示一个网络呼叫,userVerify被成功调用到以下路由:https://www.google.com/recaptcha/enterprise/userverify?k=GOOGLE_RECAPTCHA_V2_NON-ENTERPRISE_API_KEY。注意/enterprise? 此外,请注意所使用的 API 密钥是 NON-ENTERPRISE API 密钥。
  3. 当我检查I am not a robotChrome 控制台中的复选框时,我看到再次<iframe title="reCAPTCHA" src="https://www.google.com/recaptcha/enterprise/anchor?ar=....使用/enterprise(当它应该读取时/api2)。

我可以在前端确认窗口上的 grecaptcha 对象如下所示:

当我们调用grecaptcha.render()Form A 的方法时,我们调用的是外部的 .render 方法(即非企业 reCaptcha 对象)。但是,为了能够grecaptcha.render()在 Enterprise 也加载时调用,我必须将它包装在grecaptcha.ready(). 如果页面上仅加载了 V2(非企业版),我不必执行此额外步骤。

如果我在 Enterprise 脚本之后强制加载 V2 非企业脚本,那么我看不到上述问题,并且似乎 FORM A 使用了正确的路由和版本。但是,这对我来说不是解决方案,因为我无法确定首先需要在我的应用程序上加载哪个脚本。

我的问题

  • 是否有可能做我想做的事情(即,在同一页面上有两个表单,一个表单使用非企业,一个表单使用企业)?
  • 如果第一个问题的答案是“是的,这是可能的”,那么如何在同一页面上同时加载非企业和企业,并在各自的表单上相应地使用它们?我只是在做完全错误的事情吗?

我没有看到任何有关此文件的记录,甚至没有在任何地方询问过。如果有人能对正在发生的事情和可能发生的事情发表意见,我会很高兴。谢谢谢谢!

0 投票
0 回答
68 浏览

php - file_get_contents(https://www.google.com/recaptcha/api/siteverify):无法打开流:连接超时(此错误随机显示)

我知道这个问题已经被问过了,但我的问题是错误 file_get_contents( https://www.google.com/recaptcha/api/siteverify ): failed to open stream: Connection timed out 间歇性和随机出现但大多数时候我从谷歌recaptcha API得到响应所以这个问题中提出的解决方案(file_get_contents(https://www.google.com/recaptcha/api/siteverify):未能打开流:连接超时) 不适用于我

我正在为我的网站使用共享主机。

另外我想告诉这个问题主要是在我连接 ssl 后出现的

这是我用于服务器端验证的 php 代码

我也试过这段代码

但是这些都不能解决问题,请帮助我

0 投票
1 回答
58 浏览

vue.js - ReCAPTCHA 验证正在发送 SyntaxError

所以今天我试图验证一个验证码,不知何故向我发送了一个错误(我确定我做的很好)。

这是我为验证它而编写的代码(我在前端这样做只是为了使用 CAPTCHA 进行教育)

我在控制台中打印了 URL,以便我可以手动访问它并检查一切是否正常(没关系)。

这就是我的contact.vue中的内容

错误:Uncaught (in promise) SyntaxError: Unexpected end of input at eval即使在 trycatch 中,当我单击错误所在的链接时,它也会指向我所做的行result => result.json()

有什么帮助吗?我正在使用 Nuxtjs

0 投票
0 回答
44 浏览

recaptcha - Recaptcha 企业隐形 v1 总是返回 0.9 的静态分数

我在测试环境中为我的 .Net C# MVC 网站实现了不可见的 recaptcha 企业 V1,但我的 recaptcha api 总是得到 0.9 的分数。谁能解释我为什么会得到这个?

我什至尝试使用 selenium 自动化机器人来填写我的表格,即使使用非常奇怪的自动化工具,仍然得到 0.9 的分数。

0 投票
1 回答
33 浏览

javascript - 从 js 代码中导出一个动态生成的值

https://whalewisdom.com/session/new

在上面的页面上,原始 HTML 页面包含如下内容。

但是浏览器中呈现的页面已被修改,因此该条目如下所示。

我不知道value是如何使用网页上的 js 代码计算的。有人可以告诉我如何手动得出价值吗?

0 投票
0 回答
18 浏览

mocking - 如何在 Laravel 8.0 中模拟一个类?

我正在尝试测试具有 gRecaptcha 的表单:

我在Laravel Docs之后添加了一个模拟:

之后它运行发布请求,但由于它似乎实际上是从控制器运行模拟类,所以它抛出了一个错误。我认为模拟不应该运行它。Bayme 我在模拟中做错了什么。

在控制器中,验证后,它运行以下代码:

GoogleRecaptcha 只是 App\Support 文件夹中的一个类,只有一个方法:“isValid”。

不管怎么说,还是要谢谢你。埃尔南。

0 投票
0 回答
64 浏览

recaptcha - 如何使用 javascript 确保 google recaptcha 存在

错误:不存在 reCAPTCHA 客户端 (reCAPTCHA v2) 不可见验证码

我添加了谷歌 ReCaptcha v2。它第一次在页面加载时工作得很好。

但开始recaptcha.reset()recaptcha.execute()低于错误。

错误:不存在 reCAPTCHA 客户端

0 投票
0 回答
42 浏览

javascript - 如何从网站中提取 reCAPTCHA 并在外部解决?

我想知道是否有可能从任何网站中提取 reCATPCHA 并在外部解决它,例如 2captcha.com。因为它只是要求您提供数据站点密钥和页面 url ( https://2captcha.com/2captcha-api#solving_recaptchav2_new ) 来解决它。

所以我很好奇。谢谢!