2016-10-20 5 views
1

도메인 판매를위한 문의 양식을 작성 중입니다. Google reCaptcha를 구현했습니다. reCaptcha는 xampp을 사용하여 로컬 서버에서 정상적으로 작동하지만 서버에 업로드 할 때 capcha를 확인해도 항상 성공 = 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 파일 시스템으로 전달되지 않습니다. –

관련 문제