diff --git a/addons/recaptcha/lang/en.php b/addons/recaptcha/lang/en.php index 5546c69fc..02baffd5a 100644 --- a/addons/recaptcha/lang/en.php +++ b/addons/recaptcha/lang/en.php @@ -1,3 +1,4 @@ msg_recaptcha_connection_error = 'An error occurred while connecting to the reCAPTCHA verification server.'; $lang->msg_recaptcha_server_error = 'An error occurred while verifying your reCAPTCHA response.'; $lang->msg_recaptcha_invalid_response = 'Please check reCAPTCHA.'; diff --git a/addons/recaptcha/lang/ko.php b/addons/recaptcha/lang/ko.php index 510d21bd4..e26e413f3 100644 --- a/addons/recaptcha/lang/ko.php +++ b/addons/recaptcha/lang/ko.php @@ -1,3 +1,4 @@ msg_recaptcha_connection_error = 'reCAPTCHA 스팸방지 서버에 접속하는 도중 오류가 발생했습니다.'; $lang->msg_recaptcha_server_error = 'reCAPTCHA 스팸방지 서버와 통신하는 도중 오류가 발생했습니다.'; $lang->msg_recaptcha_invalid_response = 'reCAPTCHA 스팸방지 기능을 체크해 주십시오.'; diff --git a/addons/recaptcha/recaptcha.class.php b/addons/recaptcha/recaptcha.class.php index aa7bf40d9..bf1992ea1 100644 --- a/addons/recaptcha/recaptcha.class.php +++ b/addons/recaptcha/recaptcha.class.php @@ -21,11 +21,18 @@ class reCAPTCHA return new Object(-1, lang('recaptcha.msg_recaptcha_invalid_response')); } - $verify_request = \Requests::post(self::$verify, array(), array( - 'secret' => self::$config->secret_key, - 'response' => $response, - 'remoteip' => \RX_CLIENT_IP, - )); + try + { + $verify_request = \Requests::post(self::$verify, array(), array( + 'secret' => self::$config->secret_key, + 'response' => $response, + 'remoteip' => \RX_CLIENT_IP, + )); + } + catch (\Requests_Exception $e) + { + return new Object(-1, lang('recaptcha.msg_recaptcha_connection_error')); + } $verify = @json_decode($verify_request->body, true); if ($verify && isset($verify['error-codes']) && in_array('invalid-input-response', $verify['error-codes']))