Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Как 100% определить IP посетителя? |
Автор: mike_prog 3.4.2004, 18:17 |
Как можно определить IP адрес посетителя. Знаю: PROXY, всякий там бред. Но теоретически же можно определить адрес как-то. Если даже прокся генерирует каждый раз новый адрес, то можно хотя-бы узнать адрес этого сеанса? |
Автор: mike_prog 3.4.2004, 18:28 |
А как это сделать, на 79,3%? |
Автор: Secandr 3.4.2004, 18:44 |
на 100% опредилить нельзя, вообще ничего 100% не бывает! |
Автор: Mal Hack 3.4.2004, 19:49 | ||
А вот тут детально описавается что и как: http://phpclub.ru/talk/showthread.php?threadid=42766 Правда, все-таки вариант того, что это обойдкт - есть, но он очень мал. |
Автор: Master 3.4.2004, 22:06 |
анонимный прокси обойдет все. если кому-то надо не замеченым пройти на сайт, то он пройдет... если конечно не перебанить все анонимные прокси сервера ) |
Автор: pascal 4.4.2004, 00:16 | ||
Некоторые анонимные прокси косят под обычного клиента, как их ты банить предлагаешь? А как насчёт каскадных прокси? я например в фирме через каскадный прокси по HTTP лазил, причём сервер не мог определить даже адрес моего ближайшего прокси... Иногда ещё похлеще приходиться извращаться чтобы за трафик не платить... |
Автор: -=::BlackCat::=- 4.4.2004, 03:19 |
http://forum.carderplanet.com/viewtopic.php?t=26014&sid=b06b982b4280533a7f8b7230eeeffeeb http://forum.carderplanet.com/viewtopic.php?t=8509&sid=b06b982b4280533a7f8b7230eeeffeeb и как ты хочешь всё это забаннить? |
Автор: arial 14.11.2004, 22:35 | ||
|
Автор: IZ@TOP 15.11.2004, 09:41 |
arial, мощьные навароты... только толку? |
Автор: arial 15.11.2004, 17:51 | ||
Навороты позволяют поднять процент определения реального IP с 34,5% до 79,3%. ;) |
Автор: IZ@TOP 15.11.2004, 17:52 |
arial, откуда цифры? |
Автор: arial 16.11.2004, 17:49 |
От балды. |
Автор: Goganchic 30.4.2007, 09:34 |
Офигенная статистика ![]() |
Автор: GZep 30.4.2007, 09:40 |
хороший скрипт, только размер просто очень большой... можно уменьшить его, оптимизировав, в разы... |
Автор: GZep 30.4.2007, 10:05 | ||
вот, сделал!
в функцию добавил:
|
Автор: woin 30.4.2007, 11:08 | ||
А как к этому теперь обращаться?
|
Автор: GZep 30.4.2007, 11:26 |
ну, да... ![]() |
Автор: SelenIT 30.4.2007, 13:17 |
GZep, если я ничего не путаю, в HTTP_X_FORWARDED_FOR реальный IP обычно бывает последним, а Ваш код отловит первый... или я всё же заблуждаюсь? |
Автор: GZep 30.4.2007, 14:42 |
SelenIT, в этом примере все делается в том же порядке, что и в содранном из phpmyadmin примере arial'a. Только вместо используется цикл, делающий код изящьнее и более легким к изменениям... |
Автор: SelenIT 30.4.2007, 15:13 |
GZep, сорри, не приметил preg_match'а в конце примера arialа (лень было код развернуть). Да, функционально оба примера почти эквивалентны (а если добавить в Ваш изящный цикл ещё и поиск в $_ENV - будут вообще эквивалентны). Но правильно ли они работают - вопрос по-прежнему открытый;)... |
Автор: GZep 30.4.2007, 15:59 |
Все правильно... только вот зачем $_ENV? Могу добавить функцию проверки Ip адресса, чтобы прокси сервер уже не смог бы передать что-то вроде такого: 999.999.999.999. Сейчас он может такое передать... |
Автор: SelenIT 30.4.2007, 16:25 |
Имхо, лишнее. Степень доверия к данному адресу от этого вряд ли сильно вырастет ![]() Не всегда эти вещи в серверных переменных оказываются. С IIS-ом, по-моему, бывают с этим проблемы. Да и вообще среди хостеров иногда попадаются ба-альшие оригиналы;)... |
Автор: GZep 30.4.2007, 16:42 | ||
афтор просил 100%! ![]() ну, тогда добавлю... вот новый код:
Вот самый идеальный на сегодняшний день скрипт! |
Автор: SelenIT 30.4.2007, 17:01 |
Я бы, на мой характер, переписал ф-цию isIP в виде function isIP($ip) { return ip2long($ip) != -1; }. Хотя, для единообразия можно просто заменить [0-9]{1,3} на что-нибудь вроде (?:[01]?\d{1,2}|2[0-4]\d|25[0-5]) и вообще обойтись без неё... ![]() |
Автор: woin 30.4.2007, 20:09 |
В нём кажется много лишних квадратных скобочек ![]() |
Автор: Anarki 30.4.2007, 21:04 |
Добавлю еще парочку заголовков HTTP_XROXY_CONNECTION HTTP_PROXY_CONNECTION HTTP_USERAGENT_VIA А вообще, зайдет человек через SOCKS сервер и не определите вы его IP настоящий. |
Автор: GZep 1.5.2007, 13:06 | ||
Anarki, хорошо, новые заголовки я добавил, но хорошо бы увидеть откуда вы их взяли... Ok. Только ip2long($ip) != -1 && ip2long($ip) !== false. |
Автор: Kallisto 1.5.2007, 14:05 |
Модератор: Сообщение скрыто. |
Автор: GZep 1.5.2007, 14:42 |
Не хамите! ![]() мы тут защиту не делаем! Мы просто вычесляем ip средствами php Если бы вы прочитали тему то увидели бы что это уже писАли. ![]() |
Автор: Gold Dragon 2.5.2007, 07:27 |
GZep, а можешь прокомментировать строки своей функции |
Автор: Sai 27.5.2007, 02:23 | ||
Вопрос к тему чату бородина и вычисления реального IP. Объесняю на пальцах. Для того что бы чат Бородина работал во всех браузерах нужно повесить веб сервер и демона чата на один порт (к примеру 80) и как это сделать ? А сделать это просто. Нужно поставить определеный веб сервер на порт 80 который бы при посылке запроса смотрел правила и рулил запрос куда надо. Если запрос к апачу рулил бы на апач (порт апача к примеру 8080), а если к чату то рулил бы на демон чата (порт к примеру 8888). Вся трабла в том что при таком методе IP клиенту присваивался бы веб сервера что бы привело к бану сети т.е. демон чата забанил бы сам себя. Задача сделать так что бы сохранить реальный IP пользователя при перенаправлении запросов. |
Автор: NetFlame 4.9.2007, 19:24 |
Вы гении. |