1
我正在用reCAPTCHA檢查構建一個帶有窗體的網站。根據Google documentation的要求,我爲目標域創建了一個密鑰。然後,我創建了一個包含驗證碼段ReCAPTCHA在本地主機上不工作
HTML表單
<form method="post" action="index.php">
<div class="g-recaptcha" data-sitekey="PUBLIC_KEY"></div>
<input type="submit" name="submit" />
</form>
形式
PHP應答確認
當提交表單時,驗證碼的響應進行驗證(在這個例子中,它只是打印)。
$recaptcha = filter_input(INPUT_POST, 'g-recaptcha-response', FILTER_SANITIZE_STRING);
$googleurl = "https://www.google.com/recaptcha/api/siteverify";
$privatekey = "PRIVATE_KEY";
$remoteip = $_SERVER['REMOTE_ADDR'];
$curl = new Curl($googleurl."?secret=".$privatekey."&response=".$recaptcha."&remoteip=".$remoteip);
$response = json_decode($curl->exec(), true);
print_r($response);
die();
curl是一個簡單地構建一個curl請求並返回結果的類。
問題
代碼段工作正常在線和我檢查$response
都與成功和錯誤的情況下的值。但在開發過程中,我也必須在本地主機上使用它。如this post所述,所有密鑰都應該在本地工作。但是當我運行代碼時,什麼都沒有顯示。