• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Определение Города По Ip-адресу Юзера

  • Автор темы Автор темы BlackShadow
  • Дата начала Дата начала
B

BlackShadow

Может код и грубый, но рабочий. Точность определения города зависит НЕ от скрипта, а от данных, получаемые им. Вот, собственно, код. С объяснением:
Код:
<?php
// Сначала получаем данные о сервере
$dom = $_SERVER['HTTP_HOST'];
$ipus = getenv('REMOTE_ADDR');
// Если сервер - не localhost, то мы продолжим код
/*
Примечание: если хотите, можете эту проверку вырубить. Просто лично у меня она не прокатывала с денвера
*/
if ($dom != "localhost"){
// Формируем адрес подключения
$fl = "http://ip-whois.net/ip_geo.php?ip=".$ipus;
// Получаем эти данные через file_get_contents()
/*
Примечание: при использовании fopen() - не прокатывало...
*/
$data = file_get_contents($fl);
/*
Получив данные, мы получили ОГРОМНУЮ страницу. Следовательно, нам нужно её обрезать так, чтобы осталась только надпись города (Город: [полученный город]). Если вы откроете страницу http://ip-whois.net/ip_geo.php?ip=какой-нибудь_IP, то Вы увидите, что страница обработала данные и получила город. Вскрыв исходный код страницы, вы увидите, что там присутствует 2 надписи "Город: [город]": первая - в JS-скрипте, вторая - ниже. Для обрезания мы используем функцию strstr(), и, чтобы обрезать ПРАВИЛЬНО, сначала обрежем до места </IFRAME>, чтобы перейти ЗА надпись в JS-скрипте...
*/
$data = strstr($data, "</IFRAME>");
// А теперь непосредственно обрезаем от надписи "Город: "
$data = strstr($data, "Город: ");
/*
Теперь посмотрите: третье обрезание присвоил другой переменной. Это нужно для того, чтобы после того, как обрезать второй раз, мы заменили ТАКУЮ ЖЕ оставшуюся часть в $data по образцу из $data2
*/
$data2 = strstr($data, "<br>");
// Производим удаление, о котором я говорил выше
$data3 = str_replace($data2, "", $data);
// Выводим полученный город на экран
echo $data3
// А это про localhost, о котором говорилось выше
} else {
$data3 = "Неподходящий хост";
}
?>

Вот и всё. Кому надо - пользуйтесь :(

Добавлено спустя 1 минуту 46 секунд:
Найдете ошибку в синтаксисе - сообщите
 
  • Нравится
Реакции: Odmin, MeNtaLisT и ghost
Может не работать при нек-х настройках пхп, file_get_contents, стоит заменить curl-ом
 
По идее, если не подключить платную услугу в хосте, то вообще ничего работать не будет =)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD