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

Форум PHP

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

 

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

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

тема: Конкретное определение IP.
 
 автор: magic   (05.03.2009 в 18:09)   письмо автору
 
 

Всем доброго времени суток. Начну сразу с примера. Есть такая вот онлайн игра http://dsgame.rambler.ru/. Там такая вот фишка, когда заходишь на два аккаунта с одной машины, то первый открытый выбивает. Т.е они как-то, что-то определяют, я думаю по IP. Но когда заходишь с другого компа в этой же сетки, то все пучком работает. Как у них это организовано? Я пробывал $_SERVER["REMOTE_ADDR"]; getenv("HTTP_X_FORWARDED_FOR"); у меня определяет только провайдера, дальше дело не доходит. Пример и функции, пробывались с одной машины и в одной и тойже сетке. Как можно определить конечную машину, может есть какой то другой метод или что-то еще. Подскажите пожалуйста или где почитать можно. Спасибо.

  Ответить  
 
 автор: cheops   (07.03.2009 в 03:23)   письмо автору
 
   для: magic   (05.03.2009 в 18:09)
 

Больше похоже на cookie.

  Ответить  
 
 автор: magic   (12.03.2009 в 12:34)   письмо автору
 
   для: cheops   (07.03.2009 в 03:23)
 

Я захожу в нее например одним игроком, потом удаляю все куки и и все временые файлы, захожу другим и всеровно выбивает. Я так понимаю что когда я удалил все куки, то он меня не должен распозновать. Может еще сессии, но опять вопрос я открываю другое окно браузера или вообще другой браузер то тогда инициализируется другая сессия, и меня опять не возможно узнать, а как они узнают. Может всетоки как то по IP определяют.

  Ответить  
 
 автор: indexer   (12.03.2009 в 15:30)   письмо автору
 
   для: magic   (12.03.2009 в 12:34)
 

Если ваш IP в немаршрутизируемой сети, то извините как его определить? серверу виден только IP провайдера...
так что - ЭТО КУКИ (сессии) ибо другого быть не может.

поставте2 компа рядом, или 2е виртуальные машины, и играйте на здоровье хоть в 10 окон... :)


Полезная инфа на определение локального ip
h@@p://www.inattack.ru/article/562.html

  Ответить  
 
 автор: rosson   (13.03.2009 в 15:47)   письмо автору
 
   для: indexer   (12.03.2009 в 15:30)
 

Даже в PHP есть три варианта определения IP. Обычно это
$_SERVER('REMOUTE_ADDR')
. В случае если клиент идет через прокси сервер, то там, как раз и будет адрес прокси. Следовательно нужно обращаться к переменным
HTTP_CLIENT_IP 
и
HTTP_X_FORWARDED_FOR 
для получения реального IP адреса клиентской машины.
Все это можно обратить в следующий код:
function get_real_client_ip()
{   //попытка получить прямой адрес клиентской машины
     if (!empty($_SERVER['HTTP_CLIENT_IP'])) 
     {
           $ip = $_SERVER['HTTP_CLIENT_IP'];
     }
     //в случае неудачи пытаемся получить адрес за прокси
     elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
     {
           $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
      }
      // и когда совсем не везет, берем адрес какой пришел
      else 
      {
            $ip = $_SERVER['REMOTE_ADDR'];
      }
      return $ip;
}

  Ответить  
 
 автор: magic   (14.03.2009 в 16:08)   письмо автору
 
   для: rosson   (13.03.2009 в 15:47)
 

Определние айпи, по моему мнению самая акктуальная тема. Все же этот скрипт тоже не определяет айпи, доходит только до провайдера дальше тишина. А вообще можете подсказать где почитать про все переменные испольжующиеся для этих целей.

  Ответить  
 
 автор: rosson   (21.03.2009 в 19:28)   письмо автору
 
   для: magic   (14.03.2009 в 16:08)
 

Ясное дело, что до провайдера, а там два варианта: у клиента может быть как статический IP так и динамически назначаемый из пула адресов. Так что в последнем случае знание IP, в силу его временности бесполезно.

  Ответить  
 
 автор: Гекко   (21.03.2009 в 19:34)   письмо автору
 
   для: rosson   (13.03.2009 в 15:47)
 

Понимаете в чём штука - HTTP_CLIENT_IP и HTTP_X_FORWARDED_FOR передаются стороной клиента, поэтому это может быть что угодно. Поэтому опираться на данный код крайне небезопасно.

  Ответить  
 
 автор: Dobrynin   (24.03.2009 в 07:53)   письмо автору
 
   для: magic   (12.03.2009 в 12:34)
 

Попробуй с разных браузеров. Это 100% куки или сессии. в том-то и фишка, что локальные IP-шники из разных сеток могут совподать, следовательно ты собираешься выкинуть из сети в нечём ни повинного человека?

вот тебе ещё одна мысль для рассуждения: если ты все равно яро уверен в то что это не переменные, а IP, то попробуй из одного браузера выйти на эту страницу нормальным способом и одновременно через сайт, который может предоставить анонимный адрес.

  Ответить  
Rambler's Top100
вверх

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