Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определение IP-адреса клиента
 
 автор: Igorel   (08.07.2006 в 05:54)   письмо автору
 
 

Люди добрые помогите научиться. Увлёкся изучением РНР, а изучать его лучше известное дело, создавая сайт. Вообщем решил написать свой скрипт статистики посещений. Для получения IP посетителя хотел использовать $_SERVER['REMOTE_ADDR'], но на одном форуме наткнулся вот на такой код:

function getIP_sn_counter()
{
         if(getenv('REMOTE_ADDR'))
         {
            $ip = getenv('REMOTE_ADDR');
         } elseif(getenv('HTTP_X_FORWARDED_FOR'))
           {
             $ip = getenv('HTTP_X_FORWARDED_FOR');
           } else {
                   $ip = getenv('REMOTE_ADDR');
                  }
return $ip;
}

Что за функция getenv я пока вообще не знаю и у меня возник вопрос: как вообще правильно определять IP посетителя. Рязъясните плиз.

   
 
 автор: RV   (08.07.2006 в 09:43)   письмо автору
 
   для: Igorel   (08.07.2006 в 05:54)
 

http://ru.php.net/getenv
http://ru.php.net/manual/ru/reserved.variables.php#reserved.variables.server
определить ip:
getenv['REMOTE_ADDR']
$_SERVER['REMOTE_ADDR']

   
 
 автор: cheops   (08.07.2006 в 11:05)   письмо автору
 
   для: Igorel   (08.07.2006 в 05:54)
 

Функция getenv() - извлекает переменные окружения, это наследие языков программирования C и Perl, в которых нет суперглобального массива $_SERVER. Вы можете пользоваться $_SERVER['REMOTE_ADDR'] и $_SERVER['HTTP_X_FORWARDED_FOR']. Первая возвращает IP-адрес клиента, а вторая адрес клиента, если он использует прокси-сервер, так как $_SERVER['REMOTE_ADDR'] будет занят IP-адресом прокси-сервера. Обычно поступают так, проверяют $_SERVER['HTTP_X_FORWARDED_FOR'], если он не пуст, берут его, если пуст используют $_SERVER['REMOTE_ADDR'].

   
 
 автор: Igorel   (08.07.2006 в 11:44)   письмо автору
 
   для: cheops   (08.07.2006 в 11:05)
 

RV спасибо за ссылки. но я там (ru.php.net) уже был. "Ru" это хорошо, только там всё "ru" на английском, а я его не знаю.
Cheops огромное спасибо за разъяснение. Вы случаем учебники не пишите? Я бы приобрёл.

   
 
 автор: valenok   (08.07.2006 в 11:49)   письмо автору
 
   для: Igorel   (08.07.2006 в 11:44)
 

Случаем покрути колёсико вверх и наткнёшься на 8 штук.

   
 
 автор: cheops   (08.07.2006 в 14:19)   письмо автору
 
   для: Igorel   (08.07.2006 в 11:44)
 

>Вы случаем учебники не пишите? Я бы приобрёл.
Пишем :))) ссылки на наши книги вы найдёте в шапке форума или на странице http://www.softtime.ru/php5/index.php.

   
 
 автор: igorel   (08.07.2006 в 23:38)   письмо автору
 
   для: cheops   (08.07.2006 в 14:19)
 

>>ссылки на наши книги вы найдёте в шапке форума
Звиняйте, так привык что везде рекламу пихают, что не обращал внимания.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования