- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
REQ_PARAM_NAME::validated-captcha
REQ_PARAM_VALUE::Pair(false,Unable to validate in time. Response is assumed correct. 101781)
为什么我会收到来自 Google 的这条消息?
提交表单前勾选v2 reCaptcha复选框,但服务器验证返回上述结果并被拒绝(Salesforce表单拒绝)。
** 编辑 **
该网站是一个 wordpress 网站。这是我需要在 header 中添加的代码:
<script src="https://www.google.com/recaptcha/api.js"></script>
<script> function timestamp() { var response = document.getElementById("g-recaptcha-response"); if (response == null || response.value.trim() == "") {var elems = JSON.parse(document.getElementsByName("captcha_settings")[0].value);elems["ts"] = JSON.stringify(new Date().getTime());document.getElementsByName("captcha_settings")[0].value = JSON.stringify(elems); } } setInterval(timestamp, 500);
</script>
表单没有什么特别的,只是提交给Salesforce,所以我不自己验证验证码:
<form action="https://webto.salesforce.com/servlet/servlet..." method=POST">
<input id="email" maxlength="80" name="email" size="20" type="text" />
<input type=hidden name='captcha_settings' value='{"keyname":"LOGIS_CO","fallback":"true","orgId":"00YXZ000000XYZ","ts":""}'>
<!-- some other fields -->
<div class="g-recaptcha" data-sitekey="xyz..."></div>
<br><input type="submit" name="submit">
结果消息“...无法及时验证。假定响应正确。101781)”是 Salesforce 支持人员给我的。所以 Salesforce 表单确实收到了发布的表单,并且他们验证了验证码结果。
最后,Salesforce 验证生成的发布表单,他们得到 validated-captcha = false,无法及时验证。假定响应是正确的。 101781. 他们拒绝了该帖子。所以 Salesforce 支持人员要求我自己检查此验证码错误消息...
最佳答案
tl;dr 当访问者的系统时钟滞后时,表单无法通过 SF 验证,可能被认为是延迟提交,因此错误 Unable to validate in time
发生了。
当我填写并提交表单时,虽然我没有 SF 设置,但我可以使用浏览器的开发人员工具检查发送到 SF 服务器的内容。
除了通常的字段外,captcha_settings
字段中还有一个额外的信息被发送到名为 ts
的 SF 服务器,这是一个使用客户端系统用 JavaScript 计算的时间戳日期。
不难猜到是用来验证的。
所以我决定创建一个 SF 帐户,幸运的是有一个 30 天的试用选项。创建帐户后,我创建了一个带有自动回复模板的网络案例表单,简单地说 Case Successfully Created in Salesforce
。
为我的测试域获取了一个 reCAPTCHA v2 token ,并将表单的 HTML 标记放在那里并开始测试。
我提交了 9-10 次表单,没有问题。所有案例均已创建,我收到了每个案例的电子邮件。
然后我将系统时钟调慢了两个小时,提交了 2-3 次表单。表单和之前一样发送成功,但是这次没有任何反应。我没有收到任何电子邮件。
然后我将系统时钟调整回正确的时间,一切又开始正常工作了。
您可以通过将计算机的系统时钟调慢几个小时来重现该问题。
综上所述,这是顺丰必须解决的问题。依赖于客户端的系统时间,这不是验证过程的可靠来源,绝对是一个糟糕的选择。您可能想将此问题告知他们。
在 SF 做某事之前,作为一种解决方法,我认为依赖第 3 方时间戳服务是可以的。
如果您考虑到这一点,您可以用以下内容替换 header 中的脚本标签。
<script src="https://www.google.com/recaptcha/api.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
var currentTimestamp;
$.getJSON( "http://icanhazepoch.com/", function( data ) {
currentTimestamp = data * 1000;
setInterval(timestamp, 500);
});
function timestamp() {
currentTimestamp += 500;
var response = document.getElementById("g-recaptcha-response");
if (response == null || response.value.trim() == "") {
var elems = JSON.parse(document.getElementsByName("captcha_settings")[0].value);
elems["ts"] = JSON.stringify(currentTimestamp);
document.getElementsByName("captcha_settings")[0].value = JSON.stringify(elems);
}
}
</script>
通过这种方式,将使用从服务获取的时间戳而不是客户端的系统时钟,每 500 毫秒递增一次。
希望对你有帮助。
关于salesforce - 谷歌验证码 : Unable to validate in time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58138707/
在尝试 time 的 python 执行时,我发现在一条语句中两次调用 time.time() 时出现奇怪的行为。在语句执行期间获取time.time() 有一个非常小的处理延迟。 例如time.ti
我要疯了。对于我的生活,我无法弄清楚为什么以下代码会导致 Unity 在我按下播放键后立即卡住。这是一个空的项目,脚本附加到一个空的游戏对象。在控制台中,什么也没有出现,甚至没有出现初始的 Debug
我要疯了。对于我的生活,我无法弄清楚为什么以下代码会导致 Unity 在我按下播放键后立即卡住。这是一个空的项目,脚本附加到一个空的游戏对象。在控制台中,什么也没有出现,甚至没有出现初始的 Debug
我不明白为什么下面的结果是一样的。我预计第一个结果是指针地址。 func print(t *time.Time) { fmt.Println(t) // 2009-11-10 23:00:00
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32 Type "help
当我有一个time.Time时: // January, 29th t, _ := time.Parse("2006-01-02", "2016-01-29") 如何获得代表 1 月 31 日的 ti
首先,我意识到不推荐使用 time with time zone。我要使用它是因为我将多个 time with time zone 值与我当前的系统时间进行比较,而不管是哪一天。 IE。用户说每天 0
长期以来,在 Rust 中精确测量时间的标准方法是 time crate 及其 time::precise_time_ns功能。但是,time crate 现在已被弃用,std 库有 std::tim
我正在我学校的一个科学集群上运行我的有限差分程序。该程序使用 openmpi 来并行化代码。 当程序连续运行时,我得到: real 78m40.592s user 78m34.920s s
尽管它们已被弃用并且有比 time 更好的模块(即 timeit),但我想知道这两个函数 time 之间的区别.clock() 和 time.time()。 从后者 (time.time()) 开始,
这个问题在这里已经有了答案: Python's time.clock() vs. time.time() accuracy? (16 个答案) 关闭 6 年前。 我认为两者都衡量时间量?但是他们返回
我正在尝试测试 http 请求处理代码块在我的 Flask Controller 中需要多长时间,这是我使用的示例代码: cancelled = [] t0 = time.time() t1 = ti
运行 python 的计算机时钟(Windows 或 Linux)时会发生什么自动更改并调用 time.time()? 我读到,当时钟手动更改为过去的某个值时,time.time() 的值会变小。 最
我有一个结构可能无法在其字段之一上设置 time.Time 值。测试无效性时,我不能使用 nil 或 0。time.Unix(0,0) 也不相同。我想到了这个: var emptyTime time.
我有一个打算用数据库记录填充的结构,其中一个日期时间列可以为空: type Reminder struct { Id int CreatedAt time.Time
问题陈述:通过匹配其百分比随机执行各种命令。比如执行 CommandA 50% 的时间和 commandB 25% 的时间和 commandC 15% 的时间等等,总百分比应该是 100%。 我的问题
我正在使用 laravel 6。我在同一个应用程序中有类似的 Controller 和类似的 View ,它工作正常。对比之后还是找不到错误。 Facade\Ignition\Exceptions\V
我需要用 ("%m/%d/%Y %H:%M:%S") 格式表示时间,我得到的浮点值是 time.time(). 我已经有了一个 time.time() 形式的值。例如,我已经有一个值,我每 0.3 秒
我正在使用以下方法获取 utc 日期时间: import datetime import time from pytz import timezone now_utc = datetime.datet
我在 Ubuntu 上使用 time.clock 和 time.time 为一段 python 代码计时: clock elapsed time: 8.770 s time elapsed time
我是一名优秀的程序员,十分优秀!