HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Php - Определение Ip
  #1  
Старый 17.03.2008, 03:35
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
С нами: 10625303

Репутация: 39
По умолчанию Php - Определение Ip

Может кто-нибудь подсказать, реально ли через Php`овый скрипт определить серый Ip пользователя, сидяшего через Nat?

$_server["remote_addr"] и
$_server["http_x_forwarded_for"]

Несколько не то...
 
Ответить с цитированием

  #2  
Старый 17.03.2008, 07:49
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

нельзя )
Если конечно лишний заголовок не прилепляется )
 
Ответить с цитированием

  #3  
Старый 17.03.2008, 08:52
imajo.ati
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
С нами: 9589849

Репутация: 177
По умолчанию

только через java и подобные языки
 
Ответить с цитированием

  #4  
Старый 17.03.2008, 10:24
biophreak
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
С нами: 9880226

Репутация: 209
По умолчанию

Да, другим словом, через скрипты\аплеты , выполняющиеся на стороне пользователя...(java, flash и т.д)
 
Ответить с цитированием

  #5  
Старый 17.03.2008, 10:40
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
С нами: 10625303

Репутация: 39
По умолчанию

Спасибо... Буду ковырять Java...
 
Ответить с цитированием

  #6  
Старый 19.03.2008, 00:41
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

Попробуй так:


if (isSet($_SERVER))
{
if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isSet($_SERVER["HTTP_CLIENT_IP"]))
{
$realip = $_SERVER["HTTP_CLIENT_IP"];
}
else
{
$realip = $_SERVER["REMOTE_ADDR"];
}
}
else
{
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) )
{
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
}
elseif ( getenv( 'HTTP_CLIENT_IP' ) )
{
$realip = getenv( 'HTTP_CLIENT_IP' );
}
else
{
$realip = getenv( 'REMOTE_ADDR' );
}
}
$user_reg_id = $realip;
$user_reg_host = gethostbyaddr($realip);
 
Ответить с цитированием

  #7  
Старый 19.03.2008, 07:48
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

только таким образом спокойно можно подделать айпи лишним заголовком
 
Ответить с цитированием

  #8  
Старый 19.03.2008, 16:12
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
С нами: 10625303

Репутация: 39
По умолчанию

Pashkela, не, не помогло... Моя тут озадачился... Вот идет пакет от узверя, через маршрутизатор. Маршрутизатор его натит на серв. Серв отвечает, маршрутизатору приходит ответ. У маршрутизатора 254 клиента. Которому слать? А он ведь знает... Значит где-то в хедерах оно есть. Притом не в пакете, иначе серв-бы клал-бы на это содержимое, а именно в заголовках. Просто по логике его не может не быть, иначе обратный нат получается невозможным. Следовательно ежели он есть, его можно выцепить. Я слабо знаком с php и не уверен, могет ли он енто делать, но по логике должен. Но в любом случае, на серве это выцепить можно, и не обязательны скрипты, запускающиеся на стороне пользователя. Кстати джава под никсами будет безполезна, потомучто смертный пользователь, от которого запущен браузер просто не сможет посмотреть ip. Тупо не хватит прав... Гугления чет мне особо ничего не дали =( но моя продолжает упорно ковырять, ибо скрипт нужен...

Цитата:
Сообщение от nerezus  
только таким образом спокойно можно подделать айпи лишним заголовком
Можно и Пентагон взломать, тут дело в другом. Есть много деревянных пользователей, за которыми нужен учет...

Последний раз редактировалось OdaN; 19.03.2008 в 16:34..
 
Ответить с цитированием

  #9  
Старый 19.03.2008, 17:26
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами: 10495046

Репутация: 2642


По умолчанию

Попробуй
Код:
$_SERVER['HTTP_CLIENT_IP']
Код:
$_SERVER['HTTP_X_REAL_IP']
 
Ответить с цитированием

  #10  
Старый 19.03.2008, 18:07
OdaN
Участник форума
Регистрация: 04.03.2006
Сообщений: 159
С нами: 10625303

Репутация: 39
По умолчанию

Цитата:
Сообщение от NOmeR1  
Попробуй
$_SERVER['HTTP_CLIENT_IP']
$_SERVER['HTTP_X_REAL_IP']
Гм... странно эти переменные вообще не определились... php возвращает false...

======
Мож конечно я че накосячил, повторюсь, с php работаю недавно...
PHP код:
<?php
$ip1 
$_SERVER['HTTP_CLIENT_IP'];
$ip2 $_SERVER['HTTP_X_REAL_IP'];
if (!
$ip1) echo 'f1';
else
echo 
"$ip1";
if (!
$ip2) echo 'f2';
else
echo 
"$ip2";
?>
Вот енто выводит 'f1f2'...

Последний раз редактировалось OdaN; 19.03.2008 в 18:18..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.