Квартиры, дома, земельные участки Краснодарского края без посредников. Объявления собственников недвижимости.
Реклама здесь
Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Получение IP-адреса

Стандртный код получания IP адреса выглядит так:
$ip=$_SERVER['REMOTE_ADDR']

Если мы хотим получить все, что нам может дать серверное окружение ( X-Forwarded-For, Via и прочих ), то возьмем и напишем простой код, который в цикле перебирает массив $_SERVER, и регулярным выражением выбирает все заголовки, в которых встречается подхдящая под шаблон IP адреса строка. Если встретилась, то весь заголовок - с именем и всем содержимым - добавляем в строку.


REMOTE_ADDR: 38.107.179.229


<?php
function get_all_ip() {
  
$ip_pattern="#(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)#";
  
$ret="";
  foreach (
$_SERVER as $k => $v) {
    if (
substr($k,0,5)=="HTTP_" AND preg_match($ip_pattern,$v)) $ret.=$k.": ".$v."\n";
  }
  return 
$ret;
}
echo 
get_all_ip();
?>
Скопировать в буфер

Вариант более простого определения ip:


<?php
function getRealIpAddr()
{
  if (!empty(@
$_SERVER['HTTP_CLIENT_IP']))
    return 
$_SERVER['HTTP_CLIENT_IP'];
  elseif (!empty(@
$_SERVER['HTTP_X_FORWARDED_FOR']))
    return 
$_SERVER['HTTP_X_FORWARDED_FOR'];
  else
    return@
$_SERVER['REMOTE_ADDR'];
}
?>
Скопировать в буфер
Гостиница Камея в Санкт-Петербурге

© Copyright 2008-2012 by KDG