Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jakguru/28c7b0522dc43ee33b87 to your computer and use it in GitHub Desktop.
Save jakguru/28c7b0522dc43ee33b87 to your computer and use it in GitHub Desktop.
Get Client IP
<?php
function get_client_ip() {
switch ( true ) {
case ( isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) ):
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
break;
case ( isset( $_SERVER['HTTP_INCAP_CLIENT_IP'] ) ):
$ip = $_SERVER['HTTP_INCAP_CLIENT_IP'];
break;
case ( isset( $_SERVER['True-Client-IP'] ) ):
$ip = $_SERVER['True-Client-IP'];
break;
case ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ):
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
break;
case ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ):
$ip = $_SERVER['HTTP_X_REAL_IP'];
break;
case ( isset( $_SERVER['X-Forwarded-For'] ) ):
$ip = $_SERVER['X-Forwarded-For'];
break;
default:
$cur = $_SERVER['REMOTE_ADDR'];
$list = explode( ',', $cur );
$real = filter_var( $list[0], FILTER_VALIDATE_IP );
$parts = explode( '.', $real );
if ( '10' == $parts[0] || '192' == $parts[0] || '127' == $parts[0] ) {
$ip = '81.157.49.99';
} else {
$ip = $real;
}
break;
}
return $ip;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment