0
我正在將NoCaptcha整合到網站,並且希望自己捕獲失敗的驗證碼。不幸的是,如果沒有正確解決,「圖片選擇」驗證碼將立即重新加載。noCaptcha:防止自動重新加載以捕獲失敗的嘗試
因此,如果像「挑選所有顯示咖啡的圖像」這樣的挑戰,並且用戶沒有正確選擇所有相應的圖像,挑戰會立即重新加載。但我希望無論如何都要發佈數據(和表單),並自行檢查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());
}
?>
您是否知道防止自動重新加載的方法?
謝謝!
謝謝你的回答!我知道API旨在處理所有事情。但有時不希望別人爲你做所有的工作;) – coroner
@coroner,如果你非常想幹預谷歌事務,請閱讀[我的答案](http://stackoverflow.com/a/32627606/1230477)到其他問題。 –
偉大的事情!非常感謝你!我會看看這個:) – coroner