【发布时间】:2015-10-04 01:29:37
【问题描述】:
这是我第一次在我的网站上使用 recaptcha。
我正在使用 PHP API 来验证验证码,它一直说 invalid-request-cookie
我在不同的论坛上发现 www.example.com 与 example.com 不同,所以我在没有 www 的情况下再次注册了我的网站,但仍然无法正常工作..
当我验证 recaptcha_response_field 和 recaptcha_challenge_field 时,值是正确的。
这里是验证码检查器:
require_once(recaptchalib.php');
$publickey = "not displayed"; //for security
$privatekey = "not displayed"; //for security
$error = null;
if( $_POST ) {
$arr = array('a' => $_POST['task'], 'b' => $_POST['recaptcha_challenge_field'], 'c' => $_POST['recaptcha_response_field']);
if( trim($arr['a']) == 'captcha' ) {
$resp = null;
$error = null;
$captcha_result = 'success';
$resp = recaptcha_check_answer( $privatekey, $_SERVER["REMOTE_ADDR"], $arr['b'], $arr['c'] );
if( $resp->error ){
$captcha_result = 'fail';
}
echo $captcha_result;
}
}
这里是 HTML 代码:
<div id="captcha-div">
<script type="text/javascript">
var RecaptchaOptions = {
tabindex: 1,
theme: 'custom',
custom_theme_widget: 'recaptcha_widget'
};
</script>
<div id="recaptcha_widget" style="display:none"><div id="recaptcha_image" style="width: 200px; height: 57px; "></div>
<?php echo recaptcha_get_html($publickey, $error); ?>
<div class="recaptcha_only_if_incorrect_sol" style="color:red">Incorrect. Try Again.</div>
<span class="recaptcha_only_if_audio">Type what you hear</span>
<input type="text" id="recaptcha_response_field" name="recaptcha_response_field">
<div class="recaptcha_only_if_audio"><a href="javascript:Recaptcha.switch_type('image')">Kumuha ng larawang CAPTCHA</a></div>
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6Le_X88SAAAAAAH3NEbkIr3w75SEQnQYwl96Y7f0"></script>
<noscript><iframe src="http://www.google.com/recaptcha/api/noscript?k=6Le_X88SAAAAAAH3NEbkIr3w75SEQnQYwl96Y7f0" 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></div>
<script type="text/javascript">
window.onload = function() {
Recaptcha.focus_response_field();
}
</script>
<p id="captcha-error" style="color:red; font-weight:bold;"></p>
</div>
<div><a id="captcha-refresh" href="javascript:Recaptcha.reload()"></a></div>
<div class="recaptcha_only_if_image"><a id="captcha-audio" href="javascript:Recaptcha.switch_type('audio')"></a></div>
<div><a id="captcha-help" href="javascript:Recaptcha.showhelp()"></a></div>
<div id="circle-submit"></div>
谁能帮我解决这个问题?
谢谢, 贾斯汀
【问题讨论】:
-
你能发布你的代码和cookies传递给谷歌recapcha吗?
-
也尝试在此处使您的网站全球化:google.com/recaptcha/admin
-
@daniilr - 是的,我选中该框以使用全局。我怎样才能将 cookie 传递给谷歌?我还放置了验证码检查器的代码..