gpt4 book ai didi

php - 如何访问 Recaptcha 参数 [ recaptcha_challenge_field 和 recaptcha_response_field ]?

转载 作者:搜寻专家 更新时间:2023-10-31 21:45:05 24 4
gpt4 key购买 nike

我刚开始使用 Google Recaptcha Web 服务来阻止我网站中某些网页中的垃圾邮件,并通过合并 Javascript 和 PHP 来响应我的网页,使用 AJAX 来做到这一点。

我阅读了以下链接中的所有相关信息,并执行了步骤,一切都是正确的。

Google Code recaptcha Documentation

我遇到的问题是Verification过程中用到的两个字段[recaptcha_challenge_field 和 recaptcha_response_field]

当我在 verify.php 中调用 recaptcha_check_answer 函数时,出现以下错误:-

incorrect-captcha-sol

这意味着 [recaptcha_challenge_field 和 recaptcha_response_field] 为空且未定义。

这两个字段和变量应该在我在其过程中使用的 reCAPTCHA PHP 库中有输入,并且应该有 getter 来拥有它们并传入提到的函数。

我在 php 文件 recaptchalib.php 中搜索了它,但没有找到。

我是否应该添加隐藏类型的新输入元素并使用 recaptcha_challenge_field 和 recaptcha_response_field 重命名它们以存储 recaptcha 参数?

我想知道如何以正确的方式传递它们,因为我按照指南所说的那样离开它们,但它没有正常工作。我是否需要为它们定义新变量以及如何将它们与实际的 recaptcha 参数链接。

我想问一下谁实现了 recaptcha 并在之前使用过它,告诉我如何解决这个问题,非常感谢您的帮助,并提前感谢您的回答

最佳答案

http://code.google.com/apis/recaptcha/docs/php.html 处提供的客户端代码:

require_once('recaptchalib.php');<br />
$publickey = "your_public_key"; // you got this from the signup page<br />
echo recaptcha_get_html($publickey);

扩展为:

<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=your_public_key"></script>

<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=your_public_key" height="300" width="500" frameborder="0"></iframe><br/>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>

现在,我通过只包含 noscript 标签内的行来让“noscript”版本工作;而不是标签本身,并完全删除脚本标签及其内容。缺点是需要您在批准过程中进行手动复制粘贴。

根据 print_r($_POST); 在表单的目标 PHP 中,脚本版本正在显示、刷新、接受输入等,但 recaptcha_challenge_field recaptcha_response_field CGI 变量保持未设置。

所以我已经找到了上述问题的一半解决方案。

关于php - 如何访问 Recaptcha 参数 [ recaptcha_challenge_field 和 recaptcha_response_field ]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5014974/

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