![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
woin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.4.2007 Репутация: нет Всего: нет |
||||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
ну, да...
![]() -------------------- ![]() ![]() |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
GZep, если я ничего не путаю, в HTTP_X_FORWARDED_FOR реальный IP обычно бывает последним, а Ваш код отловит первый... или я всё же заблуждаюсь?
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
SelenIT, в этом примере все делается в том же порядке, что и в содранном из phpmyadmin примере arial'a. Только вместо используется цикл, делающий код изящьнее и более легким к изменениям...
-------------------- ![]() ![]() |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
GZep, сорри, не приметил preg_match'а в конце примера arialа (лень было код развернуть). Да, функционально оба примера почти эквивалентны (а если добавить в Ваш изящный цикл ещё и поиск в $_ENV - будут вообще эквивалентны). Но правильно ли они работают - вопрос по-прежнему открытый;)...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Все правильно... только вот зачем $_ENV?
Могу добавить функцию проверки Ip адресса, чтобы прокси сервер уже не смог бы передать что-то вроде такого: 999.999.999.999. Сейчас он может такое передать... -------------------- ![]() ![]() |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Имхо, лишнее. Степень доверия к данному адресу от этого вряд ли сильно вырастет ![]() Не всегда эти вещи в серверных переменных оказываются. С IIS-ом, по-моему, бывают с этим проблемы. Да и вообще среди хостеров иногда попадаются ба-альшие оригиналы;)... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
афтор просил 100%! ![]() ну, тогда добавлю... вот новый код:
Вот самый идеальный на сегодняшний день скрипт! -------------------- ![]() ![]() |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Я бы, на мой характер, переписал ф-цию isIP в виде function isIP($ip) { return ip2long($ip) != -1; }. Хотя, для единообразия можно просто заменить [0-9]{1,3} на что-нибудь вроде (?:[01]?\d{1,2}|2[0-4]\d|25[0-5]) и вообще обойтись без неё...
![]() -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
woin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 15.4.2007 Репутация: нет Всего: нет |
||||
|
||||
Anarki |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: 7 Всего: 11 |
Добавлю еще парочку заголовков
HTTP_XROXY_CONNECTION HTTP_PROXY_CONNECTION HTTP_USERAGENT_VIA А вообще, зайдет человек через SOCKS сервер и не определите вы его IP настоящий. |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Anarki, хорошо, новые заголовки я добавил, но хорошо бы увидеть откуда вы их взяли... Ok. Только ip2long($ip) != -1 && ip2long($ip) !== false. -------------------- ![]() ![]() |
|||
|
||||
Kallisto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 20.4.2007 Репутация: -3 Всего: -1 |
Модератор: Сообщение скрыто. |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Не хамите! ![]() мы тут защиту не делаем! Мы просто вычесляем ip средствами php Если бы вы прочитали тему то увидели бы что это уже писАли. ![]() -------------------- ![]() ![]() |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
GZep, а можешь прокомментировать строки своей функции
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |