public static function check_captcha($key) { /* Maak een string met de data aan die met de POST request mee moet. */ $postData = 'secret=' . Config::$recaptcha['secret'] . '&response=' . $key . '&remoteip=' . $_SERVER['REMOTE_ADDR']; /* Maak een curl object aan, die de POST request gaat uitvoeren. */ $ch = curl_init(); /* Stel de URL in waar de POST request heen moet. */ curl_setopt($ch, CURLOPT_URL, Config::$recaptcha['url']); /* Verwijder de SSL certificaat checks. */ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); /* Geef aan dat we het resultaat van de request terug willen. */ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); /* Geef aan dat we de header niet terug willen. */ curl_setopt($ch, CURLOPT_HEADER, false); /* Stel het aantal velden in dat gepost wordt. */ curl_setopt($ch, CURLOPT_POST, 3); /* Geef de string mee met de POST data die eerder aangemaakt is. */ curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); /* Voer de POST request uit, en sla het resultaat op in $result. */ $output = curl_exec($ch); /* Sluit het curl object af. */ curl_close($ch); /* Kijken of het resultaat klopt. */ if (Self::is_json($output)) { /* Parse JSON. */ $data = json_decode($output); /* Kijken of het resultaat true is. */ if ($data->success) { /* Het resultaat van de check is true. */ return true; } } /* Er ging wat fout, of de key klopte niet. Return een false. */ return false; }