gpt4 book ai didi

php - 缺少输入响应 |隐形验证码

转载 作者:太空宇宙 更新时间:2023-11-04 14:28:38 24 4
gpt4 key购买 nike

因此,我正尝试在某些网站上实现 Google 全新的 Invisible reCaptcha。

我完全按照这些步骤操作,但它不断给我缺少输入响应错误。

HTML代码:

<form id="subscribe-form" class="form-inline" action="phpScripts/subscribe/subscribeHandler.php" method="post">
<div class="input-group">
<input type="email" name="email" class="form-control" size="50" placeholder="Email Address" required>
<div class="input-group-btn">
<button class="g-recaptcha btn btn-danger" data-sitekey="6LfoNhkUAAAAAEcQFx8vGHZKHXsZ_q0j2KDnmU9M" data-callback="submitForm">Subscribe</button>
</div>
</div>
</form>

PHP 代码:

<?php
include 'databaseConnection.php';
if($_POST){
$secret = "MY SECRET KEY";
$captcha= $_POST['g-recaptcha-response'];
$ip = $_SERVER['REMOTE_ADDR'];
$url= file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha&remoteip=$ip");
print_r($url);
$decodedResponse = json_decode($url, TRUE);

if($decodedResponse['success'] == 1){//code here}

因此,我认为我的 $captcha 变量无法从 g-recaptcha-response 的 POST 中“捕获”任何内容。但是为什么,这正是谷歌所说的,并且与旧的 reCaptcha v2 完全一样。

另外,我已经包括了<script src='https://www.google.com/recaptcha/api.js'></script>

最佳答案

我面对同样的问题几个小时,直到我终于理解了这个“隐形验证码”背后的逻辑!您没有收到回复的原因仅仅是因为有一个空的文本区域元素,其 ID 和名称为 g-recaptcha-response

此文本区域仅在挑战完成后填充响应字符串(这通常发生在通常的 recaptcha 中),但对于“invisible-captcha”,您必须显式调用 grecaptcha.execute() ; 使用您的“提交”按钮,之后填充文本区域,并且您的表单会自动提交(假设您已将提交与您的 callback 函数绑定(bind))。
< br/>在我的例子中,我已经有 php 处理表单和 recaptcha 验证,所以我决定坚持使用旧的“复选框”版本(至少在它得到改进之前),因为我意识到改变一切真的很烦人(表单提交逻辑、按钮操作和 JavaScript 代码)只是为了隐藏一个复选框!特别是这两种方法几乎相同!

关于php - 缺少输入响应 |隐形验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42837554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com