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

  #1  
Старый 22.12.2017, 02:02
MotherHacker
Новичок
Регистрация: 14.10.2017
Сообщений: 10
С нами: 4516886

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

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]public function[/COLOR][COLOR="#0000BB"]GetUserIp[/COLOR][COLOR="#007700"](){

if
([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]UserIP[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]"Undefined"[/COLOR][COLOR="#007700"]){

if
(isset([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_X_FORWARDED_FOR'[/COLOR][COLOR="#007700"]]) AND !empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_X_FORWARDED_FOR'[/COLOR][COLOR="#007700"]]))
{

[/COLOR][COLOR="#0000BB"]$client_ip[/COLOR][COLOR="#007700"]= ( !empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]]) ) ?[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]] : ( ( !empty([/COLOR][COLOR="#0000BB"]$_ENV[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]]) ) ?[/COLOR][COLOR="#0000BB"]$_ENV[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#DD0000"]"unknown"[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$entries[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]split[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'[, ]'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_X_FORWARDED_FOR'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]reset[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$entries[/COLOR][COLOR="#007700"]);

while
(list(,[/COLOR][COLOR="#0000BB"]$entry[/COLOR][COLOR="#007700"]) =[/COLOR][COLOR="#0000BB"]each[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$entries[/COLOR][COLOR="#007700"]))
{
[/
COLOR][COLOR="#0000BB"]$entry[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$entry[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$entry[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ip_list[/COLOR][COLOR="#007700"]) )
{

[/COLOR][COLOR="#0000BB"]$private_ip[/COLOR][COLOR="#007700"]= array(
[/
COLOR][COLOR="#DD0000"]'/^0\./'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'/^127\.0\.0\.1/'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'/^192\.168\..*/'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/'[/COLOR][COLOR="#007700"],
[/
COLOR][COLOR="#DD0000"]'/^10\..*/'[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]$found_ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]preg_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$private_ip[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$client_ip[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ip_list[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]]);

if
([/COLOR][COLOR="#0000BB"]$client_ip[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#0000BB"]$found_ip[/COLOR][COLOR="#007700"])
{
[/
COLOR][COLOR="#0000BB"]$client_ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$found_ip[/COLOR][COLOR="#007700"];
break;
}

}

}

[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]UserIP[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$client_ip[/COLOR][COLOR="#007700"];
return[/COLOR][COLOR="#0000BB"]$client_ip[/COLOR][COLOR="#007700"];

}else return ( !empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]]) ) ?[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]] : ( ( !empty([/COLOR][COLOR="#0000BB"]$_ENV[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]]) ) ?[/COLOR][COLOR="#0000BB"]$_ENV[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#DD0000"]"unknown"[/COLOR][COLOR="#007700"]);

}else return[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]UserIP[/COLOR][COLOR="#007700"];

}[/COLOR][/COLOR
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.