2017-04-26 17 views
0

私のウェブサイト(私はgodaddyサーバー(cpanel)を使用しています)でGoogle reCaptchaを検証しようとしています。しかし、サーバー側を検証しようとすると時間がかかり、タイムアウトになります。Google reCaptcha検証(siteverify)タイムアウト

誰でも問題の原因を指摘できますか?

if(isset($this->data['g-recaptcha-response']) && !empty($this->data['g-recaptcha-response'])){    
    $u = "https://www.google.com/recaptcha/api/siteverify?secret=".DataSecret."&response=".$this->data['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']; 
    $response = @file_get_contents($u); 
    $arr = json_decode($response,true); 
} 

私はこのエラーメッセージを取得:

(2)警告:のfile_get_contents(https://www.google.com/recaptcha/api/siteverify?secret= {XXXXXXXXXX} &応答= {XXXXXXXXXXXX} & remoteip = xxx.x.xx.xx):に失敗しましたオープンストリーム:file_get_contentsが働いている、(同じサーバー上にある)ローカルホスト上:接続が

NOTE

をタイムアウトになりました。私はrecaptchaに問題があります。

+0

同じ問題が発生しています。私のサーバーは、OSによって解決されたIPアドレスを使用してhttps://www.google.com/recaptcha/api/siteverifyに接続していないことがわかりました(ただし、クライアントで動作します)。私はGoogleのサーバーが私のサーバーIPをブラックリストに載せたと思う。私は(サーバー/ etc/hostsファイルを編集して)Googleサーバー用に別のIPを使用することで回避策を講じました。明日、このエントリを削除して問題がまだ残っている場合には終了します。 – Luma

+0

私の場合は@Lumaがサーバーの問題でした..多分共有ホスティングにはいくつかのファイアウォールの問題があります。私は他のサーバーを使用していました。コーディングに関する問題はありません。 :) –

答えて

1

@ Yogesh Saroya、 サーバー設定でallow_url_fopen=On,allow_url_include=Onをチェックしましたか?私はこれらの2つの設定が必要だと思います。

+0

はい、どちらもオンになっていますが、私の場合はサーバーの問題です。おそらく、その共有ホスティングにはいくつかのファイアウォールの問題があります。他のサーバーを使用していて、うまくいきました。コーディングに関する問題はありません。 :) –

+0

解決策は見つかりましたか? – Toton

+0

サーバーに問題がありました。コードは正しい。 –

関連する問題