Xpoint
   [напомнить пароль]

Вопрос по определению IP, а вернее его не определению

Метки: [без меток]
[удл]
2007-05-02 04:25:57 [обр] xShadow[досье]
Как по всюду пишут, определить IP пришедшего пользователя можно через REMOTE_ADDR и разные его проявления ... так вот вроде уже все их попробывал - не хотит никак - определяет как 0.0.0.0 и все, хоть через проксю зайди хоть напрямую, хоть через инет хоть с локалки ... нули пишет и через phpinfo(), REMOTE_PORT тоже кстати 0. В php.ini register_globals стоит на On. Файервол еще не установлен, Win2000 ... вообщем, ничего вроде мешать не должно, но и помогать чего то не хочет.
Может есть какие соображения, кроме как повторно полазить по FAQ'у и мануалам ?
спустя 7 часов [обр] Привидение+(611/795)[досье]
  1. Никаких "разных проявлений" у REMOTE_ADDR нет и быть не может. IP пришедшего пользователя лежит только в REMOTE_ADDR, и нигде больше. Это надо твердо запомнить. Поскольку действительно, "повсюду пишут", причем те, кто сам ничего не понимает. Единственное исключение - операционная система может записать IP адрес в переменную окружения с другим именем. Но это бывает редко и к "разным проявлениям" не относится. И если есть REMOTE_ADDR, то больше ни в каких "других проявлениях" никакого IP адреса клиента нет.
  1. register_globals к вопросу не имеет отношения, если в переменной действительно лежит 0.0.0.0.
  1. Собственно к PHP вопрос никакого отношения не имеет, поскольку клиент соединяется не с пхп, а с веб-сервером.

Поэтому, если мануалы и придется читать, то, скорее, по настройке веб-сервера (ты, кстати, даже не указал - какого) и/или операционной системы.

К, PHP же, повторюсь, вопрос не имеет отношения.

спустя 9 минут [обр] xShadow[досье]
Под проявлениями я имел ввиду вид вызова этой самой REMOTE_ADDR (как раз об этом пишут по-разному). ОС (Win2000) я указал, а вот насчет вэб-сервера - Apache 2.2.4. Гляну по ходу сейчас еще раз httpd.conf, может чего отрою.
Спасибо.
спустя 2 часа 6 минут [обр] Привидение+(611/795)[досье]

Вызов тоже делается единообразно - только как $_SERVER['REMOTE_ADDR'] и больше никак.

я не думаю, что проблема в httpd.conf
скорее, в том окружении, в котором запускается апач.
Тут, скорее, как раз, файрволл или прокси какая-то.

спустя 18 минут [обр] xShadow[досье]
Да ... в httpd.conf ничего не нашлось похожего ...
Попробую поотключать сервисы winproxy и usergate, хотя на машине на которой ничего этого нет (она в локалке) тоже самое ...
спустя 1 час 11 минут [обр] Привидение+(611/795)[досье]
что то же самое?
на ней стоит такой же веб-сервер?
спустя 1 час 47 минут [обр] xShadow[досье]
да тоже самое это Apache 2.2.4 + PHP 5
спустя 3 часа 13 минут [обр] Привидение+(611/795)[досье]
поставь ту же связку дома.
убедись, что все прекрасно показывается.
и разберись, наконец, со своим софтом, который у тебя куда-то съедает адрес.
спустя 11 минут [обр] xShadow[досье]
ставилось дома с тех же дистрибутов, с оф-сайта, одиннаковым образом. Дома ведь тоже не пашет. Знаю, что напишешь, что у меня все поставлено неправильно, но все таки, DLE работает (IP не проверял), IPB поставился.
спустя 12 часов [обр] Привидение+(611/795)[досье]
постой.
а как ты ip адрес-то определяешь?
вот дома - какие действия предпринял?
спустя 3 часа 26 минут [обр] Сергей Сирик(180/737)[досье]
Какая точно версия РНР?
спустя 3 часа 39 минут [обр] xShadow[досье]
так ... версия PHP 5.2.1 (php-5.2.1-Win32.zip)
IP определял например так $UserIP = $_SERVER['REMOTE_ADDR'], да и готовой GetIP() взятой из инета. Еще через phpinfo() смотрел.
спустя 1 час 46 минут [обр] Сергей Сирик(180/737)[досье]
РНР как устаовлен - как модуль Апача или как?
спустя 50 минут [обр] xShadow[досье]

Из httpd.conf :
LoadModule php5_module "C:/Server/xPHP/php5apache2_2.dll"
PHPIniDir "C:/Server/xPHP"

- да

спустя 58 минут [обр] Привидение+(611/795)[досье]
вот как раз "всякие готовые GetIP() взятые из инета" и пишут всякий мусор.
в phpinfo() точно нигде нет ip адреса?
спустя 46 минут [обр] xShadow[досье]
в phpinfo() REMOTE_ADDR и REMOTE_PORT - по нулям,
хотя например SERVER_ADDR - работает
спустя 1 час 37 минут [обр] Сергей Сирик(180/737)[досье]
ммм, а в php.ini register_long_arrays как?
спустя 38 минут [обр] xShadow[досье]

register_long_arrays = On

чет я еще не понял, пишу

$UN = "Имя пользователя :" + $_SESSION['username'];
$UIP = "IP пользователя :" + $_SERVER['REMOTE_ADDR'];
Echo $UN;
Echo $UIP;
в ответе выдает тоже ноль и там и там - почему он переделывает в integer ?

спустя 58 минут [обр] Василий Свиридов(53/175)[досье]
Потому что в PHP конкатенация через точку, а через плюс - сложение.
спустя 10 часов [обр] xShadow[досье]
со сложением ясно - пасиба
спустя 1 день 6 часов [обр] xShadow[досье]
со сложением ясно (хоть имхо и не логично). на IP придется на неопределенное время забить ... печально.
спустя 2 часа 12 минут [обр] Привидение+(611/795)[досье]
фигасе.
Использование символа + для сложения чисел - НЕЛОГИЧНО?
спустя 1 час 54 минуты [обр] xShadow[досье]
с плюсом то логично - с точкой нет
спустя 4 часа 40 минут [обр] Василий Свиридов(53/175)[досье]
xShadow[досье]Весьма логично, т.к. это описано в мануале, в разделе "операторы".
спустя 8 минут [обр] xShadow[досье]

А ну да ... видимо в этом (http://www.softtime.ru/bookphp/gl1_6.php) пропустили, и в примерах кода не использовали ...

- только я не про это, про IP я тему то ... может еще какие мысли будут ?

спустя 3 часа 58 минут [обр] Василий Свиридов(53/175)[досье]
Самый лучший мануал и самоучитель
А по поводу IP к сожалению ничего подсказать не могу.
спустя 4 часа 17 минут [обр] Привидение+(611/795)[досье]

xShadow[досье]
А почему бы тебе не обратиться на сайт softtime.ru со своими претензиями? А здесь фитилек-то прикрутить.
Если ты прочитал только вступление к ламерскому учебнику - это не повод заявлять, будто нигде данный оператор не освещается.
Постарайся впредь держать свое неудовольствие при себе.

Проблема IP адреса, как я уже неоднократно отмечал, к PHP никакого отношения не имеет. Это проблема настройки программного обеспечения.

спустя 1 день 5 часов [обр] Александр Жешев(39/50)[досье]
Привидение[досье], имхо данный вопрос не имеет отношения к настройкам программного обеспечения.
2xShadow[досье] На IP не стоит забивать, он определяется максимально просто - echo $_SERVER['REMOTE_ADDR'];.
Если что-то не получается - читайте официальный мануал, там все с примерами.
Если что-то где-то не так - сделайте echo "<PRE>",print_r($GLOBALS),"</PRE>"; и будет вам счастье.
спустя 3 дня [обр] xShadow[досье]
Вообщем, дело, видимо, в неналичии mod_access в дистрибутиве апачи (apache_2.2.4-win32-x86-no_ssl.msi), в конфиге модуль отключен, вот и был замечен. Пробывал подоткнуть их 2.0.43 - не хочет. Собираюсь поискать дистриб поновее, но с модулем. На оф'сайте лежит еще версия исходников. Компилить жедания нет, ввиду неопределенности результата. По крайней мере мысли пока такие.
Powered by POEM™ Engine Copyright © 2002-2005