0
我在將reCAPTCHA添加到我的網站時遇到了一些問題。下面的代碼可以在我的本地主機上正常工作,但不在我的遠程服務器上。reCAPTCHA在本地主機上工作,但不在REMOTE服務器上
if (isset($_POST['g-recaptcha-response'])) {
$secret = '6LcUahkTAOlz-3iYApxHVjUC6wSc30G';
$ip = $_SERVER['REMOTE_ADDR'];
//var_dump($ip); works fine on both local and remote
$captcha = $_POST['g-recaptcha-response'];
$rsp = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha&remoteip=$ip");
var_dump($rsp);
$validation = json_decode($rsp, TRUE);
var_dump($validation);
if ($validation['success'] !== true) {
$errors[] = 'CAPTCHA failed. Please try again.';
}
}
的var_dump($ RSP)返回:
本地主機:
string(91) "{ "success": false, "challenge_ts": "2016-02-27T17:08:05Z", "hostname": "localhost" }"
或
string(90) "{ "success": true, "challenge_ts": "2016-02-27T17:41:40Z", "hostname": "localhost" }"
遠程服務器總是返回:
bool(false)
的var_dump($確認)返回:
本地主機:
array(3) { ["success"]=> bool(false) ["challenge_ts"]=> string(20) "2016-02-27T17:08:05Z" ["hostname"]=> string(9) "localhost" }
或
array(3) { ["success"]=> bool(true) ["challenge_ts"]=> string(20) "2016-02-27T17:41:40Z" ["hostname"]=> string(9) "localhost" }
遠程服務器總是返回:
NULL
我不是一個程序員,有有限的知識。 預先感謝您的幫助!
然後把問題交給程序員,因爲在公開網站上發佈機密並不是有史以來最聰明的主意。 – walther
謝謝你的迴應。我在發佈之前修改了它,這顯然不是真正的祕密密鑰。我沒有程序員,我自己在幫助下創建了我的網站。我只是想將reCAPTCHA添加到我的註冊頁面,因爲我的數據庫已經過載了機器人。 – user1794825
讓我知道,如果你有任何想法,爲什麼相同的代碼在服務器之間表現不同。謝謝! – user1794825