2016-10-20 211 views
1

我正在研究域名的查詢表單,並對其執行google reCaptcha。 reCaptcha在使用xampp的本地服務器上正常工作,但是當我將它上載到服務器上時,即使我檢查了capcha,它總是會響應success = false。這裏是我的代碼:Google reCaptcha在本地服務器上工作,但不在在線服務器上

$url = 'https://www.google.com/recaptcha/api/siteverify'; 
    $privatekey = "KEY"; 

    $response = file_get_contents($url."?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']); 

    $data = json_decode($response); 

    if(isset($data->success) AND $data->success==true){ 
     //some code 
    } 
    else{ 
     //some code 
    } 

我使用一個單獨的密鑰爲我的本地發展和活的一個。我相信我使用正確的密鑰和sitekey當我上傳到服務器。任何想法爲什麼發生這種情況?

+0

基於實時url生成API密鑰。它會起作用..! – Elangovan

+0

您的'$ data'對象包含'error-codes'屬性。這會告訴你出了什麼問題。 – simon

+0

我試着在我的本地服務器上傾倒recaptcha響應,但他們沒有錯誤代碼 – Nash

回答

0

我的第一本能就是區分大小寫。這意味着該目錄已被Windows授予一個(或多個)大寫字母。儘管Windows將大寫和小寫視爲相同,但其他操作系統不會。

因此,我建議在服務器上重新檢查所有文件和目錄名稱都是小寫字母。希望能夠解決你的問題。

+0

區分大小寫不能是問題這裏。 'file_get_contents(「https:// ...'將被PHP攔截,並且永遠不會傳遞給Windows文件系統。 –

相關問題