· 7 years ago · Dec 09, 2018, 01:42 PM
1<?php
2
3function getUserIP(){
4 $client = @$_SERVER['HTTP_CLIENT_IP'];
5 $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
6 $remote = $_SERVER['REMOTE_ADDR'];
7
8 if(filter_var($client, FILTER_VALIDATE_IP))
9 {
10 $ip = $client;
11 }
12 elseif(filter_var($forward, FILTER_VALIDATE_IP))
13 {
14 $ip = $forward;
15 }
16 else
17 {
18 $ip = $remote;
19 }
20
21 return $ip;
22}
23
24
25 $user_ip = getUserIP();
26
27 $url = 'https://www.google.com/recaptcha/api/siteverify';
28 $params = array(
29 'secret' => 'secret-key',
30 'response' => $_POST['g-recaptcha-response'],
31 'remoteip' => $user_ip
32 );
33 $response = wp_remote_post( $url, array(
34 'method' => 'POST',
35 'timeout' => 45,
36 'redirection' => 5,
37 'httpversion' => '1.0',
38 'blocking' => true,
39 'headers' => array(),
40 'body' => $params,
41 'cookies' => array()
42 )
43 );
44 $grecapres = json_decode($response['body']);
45
46 if($grecapres->success):
47 //save here
48 endif;