HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 22.12.2017, 02:02
MotherHacker
Guest
Сообщений: n/a
Провел на форуме:
2312

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

PHP код:
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.XYZ