我正在将NoCaptcha集成到一个网站,并希望自己捕获失败的验证码。可悲的是,如果没有正确解决,“图像选择”Captcha会立即重新加载。
因此,如果存在“挑选所有显示咖啡的图像”并且用户未正确选择所有相应图像的挑战,则挑战会立即重新加载。但我希望无论如何都要发布数据(和表格)并自行检查Captcha的正确性。
这是一个如何运作的简约示例。我相信,如果Captcha没有立即重新加载,它会起作用。
<?php
require_once('recaptchalib.php');
$publickey = "-----";
$privatekey = "-----";
try{
if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
if(!$captcha){ exit; }
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$privatekey."&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false){
// Do something
} else {
// Do something else
}
}
else
{
?>
<html lang="en">
<head>
<meta charset="utf-8" />
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body>
<form method="post" action="thisfile.php">
<div class="g-recaptcha" data-sitekey="<?php echo $publickey; ?>"></div>
<input type="submit" value="Absenden" />
</form>
</body>
</html>
<?php
}
} catch (Exception $e) {
error_log($e->getMessage());
}
?>
你知道一种防止自动重装的方法吗?
谢谢!
答案 0 :(得分:0)
你应该知道reCaptcha背后的operations。 Google reCaptcha API(https://www.google.com/recaptcha/api.js)执行reCaptcha操作的所有工作;允许没有网站所有者互动(网站验证除外)及其reCaptcha。
因此,您对prevent reCaptcha auto-reloading
或类似的尝试是否会破坏其操作或导致其对最终用户行为不当。