Получаем IP-адрес пользователя
Скопировано
$ip = get_ip_address();
function get_ip_address() {
foreach( array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ) as $key ) {
if( array_key_exists( $key, $_SERVER ) === true ) {
foreach( explode( ',', $_SERVER[$key] ) as $ip ) {
$ip = trim( $ip );
if( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) !== false ) {
return $ip;
}
}
}
}
}
Показать код
Или вариант попроще:
Скопировано
$IP = $_SERVER['REMOTE_ADDR']; // IP пользователя
if( array_key_exists( 'HTTP_X_FORWARDED_FOR', $_SERVER ) ) {
$arr = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
if( is_array( $arr ) ) $IP = array_pop( $arr );
}
Показать код