You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.0 KiB
30 lines
1.0 KiB
<?php
|
|
class Google_recaptcha {
|
|
protected $secret = "";
|
|
protected $api_url = "https://www.google.com/recaptcha/api/siteverify";
|
|
|
|
function __construct()
|
|
{
|
|
$CI=& get_instance();
|
|
$this->secret = $CI->site->config('google_recaptcha_secret_key');
|
|
}
|
|
|
|
public function check_response( $response="")
|
|
{
|
|
if(empty($response)) return FALSE;
|
|
$curl_opt['response'] = $response;
|
|
$curl_opt['secret'] = $this->secret;
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL, $this->api_url );
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($curl_opt));
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|
curl_setopt($ch, CURLOPT_POST , TRUE);
|
|
$output=curl_exec($ch);
|
|
if(curl_errno($ch)) return FALSE;
|
|
curl_close($ch);
|
|
$output = json_decode($output, TRUE);
|
|
if( isset($output['success']) && $output['success'] == true ) return TRUE;
|
|
else return FALSE;
|
|
}
|
|
}
|