How to find IP address and the MAC address of the computer

This forum is for eXpress++ general support.
Message
Author
User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: How to find IP address and the MAC address of the comput

#11 Post by Eugene Lutsenko »

When you access the site in a text file also contains a line with the date and time and the IP address of the visitor appeal

Code: Select all

<?php
$file = ‘test_strings.txt’; // файл
define(“divider”, “|”); // разделитель
$logdate = date(“d.m.y G:i:s”); // дата, время
$ip = getenv(‘HTTP_X_REAL_IP’);	// ip-адрес
if ( $ip == ‘’ ) $ip = ‘unknown’;	
$log = $logdate . divider . $ip . “\n\r”; // формируем строку
file_put_contents($file, $log, FILE_APPEND | LOCK_EX);	// пишем содержимое в файл
// print_r($_SERVER);
?>

02.12.16 22:26:47|37.147.43.178
02.12.16 22:28:48|37.147.43.178
This is what I wanted. The text file, I could count on the ftp. So I'm on your local computer can see who ran my system in the world.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: How to find IP address and the MAC address of the comput

#12 Post by Eugene Lutsenko »

Code: Select all

<?php 
  $file = 'test_strings.txt';                                     // файл 
  define("divider", "|");                                         // разделитель
  $logdate = date("d.m.y G:i:s");                                 // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                                 // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                               // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);      // определеяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                              // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);          // пишем содержимое в файл
?>
03.12.16 23:46:29|37.147.43.178,RU,Russia,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.03,38.98,0

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: How to find IP address and the MAC address of the comput

#13 Post by Eugene Lutsenko »

http://j90540lw.beget.tech

Code: Select all

<?php
  $file = 'test_strings.txt';                                     // файл
  define("divider", "|");                                         // разделитель
  $logdate = date("d.m.y G:i:s");                                 // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                                 // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                               // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);      // определеяем регион, город и его геогр.координаты
//  $log = $logdate . divider . $ip . "\n" ;                              // формируем строку
  $log = $logdate . divider . $var ;                              // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);          // пишем содержимое в файл
?>
About visitors here Report:

http://j90540lw.beget.tech/test_strings.txt

Is it possible to programmatically from Alaska to know whether there is a domain that does not open the site? And when you open it, the program is stuck on it. And I do not need to refer to it only for an instant, to have registered in the database and all the characteristics of the visitor. From PHP is possible, but in this case the IP-address and other parameters are not determined.

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: How to find IP address and the MAC address of the comput

#14 Post by Eugene Lutsenko »

Is it possible to do something in order to function:

Code: Select all

DC_SpawnURL( 'http://j90540lw.beget.tech/index.php', .T., .T. )
immediately after the call to shut its website viewing?

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: How to find IP address and the MAC address of the comput

#15 Post by Eugene Lutsenko »

I cost that did a redirect to your main site:

Code: Select all

<?php 
  $file = 'test_strings.txt';                                     // файл 
  define("divider", "|");                                         // разделитель
  $logdate = date("d.m.y G:i:s");                                 // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                                 // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                               // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);      // определяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                              // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);          // пишем содержимое в файл
//  print $log;
  echo '<meta http-equiv="refresh" content="0;URL=http://lc.kubagro.ru">';    // Редирект на основной сайт
?>
This php code I posted on a specially created for this site. Now when you start the program:

1) The first entry is made in the base of a visitor on a specially constructed data website
2) then checks for updates and, if necessary, they are downloaded and installed,
3) and then starts the main system.

Code: Select all

**********************************************************************************
*** (C) д.э.н., к.т.н., профессор Луценко Евгений Вениаминович, Россия, Краснодар.
*** V- 16:15 04.12.2016
**********************************************************************************

#include "xb2net.ch"
#pragma Library("XB2NET.LIB")

PROCEDURE AppSys
// Рабочий стол остается окном приложения
RETURN

********************************************************************************
FUNCTION Main()

LOCAL  GetList[0], GetOptions, nColor, oMessageBox, oMenuWords, oDlg, ;
       oMenuBar,oMenu1,oMenu2,oMenu3,oMenu4,oMenu5,oMenu6,oMenu7,;
       oMenu3_3

   DC_IconDefault(1000)

   Xb2NetKey()

   SET DECIMALS TO 15
   SET DATE GERMAN
   SET ESCAPE On

   SET COLLATION TO SYSTEM   // Русификация
   *SET COLLATION TO ASCII   // Русификация

DC_SpawnURL( 'http://j90540lw.beget.tech/index.php', .T., .T. )


CrLf = CHR(13)+CHR(10)     // Конец строки (записи)

*** Flag = 0. Что-то вообще не то
*** Flag = 1. Если в текущей папке исполнимого файла системы нет, то скачивание и разархивирование полного архива и запуск системы на исполнение
*** Если в текущей папке исполнимый файл системы есть, то
*** проверка дат создания файла системы и файла обновлений
*** Flag = 2. Если система устарела - скачивание обновлений и запуск новой версии системы
*** Flag = 3. Иначе  - запуск существующей версии системы

Flag = 0

mCountSys = ADIR("_aidos-x.exe")

IF mCountSys = 0                                    // В текущей папке исполнимого файла системы нет

   Flag = 1

ELSE

   Flag = 2                                         // Возможно система устарела, надо скачать и развернуть обновления

   PRIVATE aName[1], aSize[1], aDate[1]
   mCountSys = ADIR("_aidos-x.exe", aName, aSize, aDate )
   mDateSys = aDate[1]
   StrFile(DTOC(aDate[1]), "DateSys.txt")           // Запись текстового файла с датой создания исполнимого модуля системы

ENDIF

cGDServer:="ftp://lc.kubagro.ru/"
Ftp_User  :=m1
Ftp_Passw:=m2

oFtp := XbFTPClient():new()

IF oFtp:Connect(cGDServer)                          // Соединение
   
   IF oFtp:Login(Ftp_User, Ftp_Passw)               // Авторизация
      oFtp:PassiveMode:=.T.                         // Пассивный режим

      // Flag = 1. Если в текущей папке исполнимого файла системы нет, то скачивание и разархивирование полного архива и запуск системы на исполнение

      IF Flag = 1

         oScrn   := DC_WaitOn( 'Скачивание полного обновления системы "Эйдос-Х++" около 70 Мб.' )
         IF oFtp:GetFile("Update.exe")
*           LB_Warning('Полное обновление и старт системы "Эйдос-Х++"', '(C) Система "Эйдос-Х++"' )
         ELSE
            LB_Warning('Файла обновлений нет на FTP-сервере', '(C) Система "Эйдос-Х++"')
         ENDIF
         DC_Impl(oScrn)

      ELSE

         ***** Проверка времени создания файла обновлений без его скачивания прямо на FTP-сервере

         aFileUpd:=oFtp:Directory("Downloads.exe")
         mDateUpd = CTOD(SUBSTR(aFileUpd[1], 4, 2) + "." + SUBSTR(aFileUpd[1], 1, 2) + ".20" + SUBSTR(aFileUpd[1], 7, 2))
         StrFile(DTOC(mDateUpd), "DateUpd.txt")     // Запись текстового файла параметров файла обновлений

         ** Flag = 2. Если система устарела - скачивание обновлений и запуск новой версии системы

         IF mDateSys < mDateUpd                     // Исполнимый файл системы в текущей папке старее файла обновлений
            Flag = 2                                // Система устарела, надо скачать и развернуть обновления

            oScrn   := DC_WaitOn( 'Скачивание обновления исполнимого модуля системы "Эйдос-Х++" 5 Мб.' )
            IF oFtp:GetFile("Downloads.exe")        // Скачивание файла обновлений
*              LB_Warning('Обновление исполнимого модуля и старт системы "Эйдос-Х++"', '(C) Система "Эйдос-Х++"' )
            ELSE
               LB_Warning('Файла обновлений нет на FTP-сервере', '(C) Система "Эйдос-Х++"')
            ENDIF
            DC_Impl(oScrn)

         ELSE
            Flag = 3                                // Система не устарела, просто запустить ее
         ENDIF
      ENDIF
   ELSE
      LB_Warning('Не удалось авторизоваться на FTP-сервере', '(C) Система "Эйдос-Х++"' )
   ENDIF
ELSE
   LB_Warning('Нет соединения с FTP-сервером', '(C) Система "Эйдос-Х++"' )
ENDIF

oFtp:close()
oFTP:destroy()

*** Если файл обновлений новее установленной на компьютере системы, то развернуть его, иначе просто запустить систему

DO CASE
   CASE Flag = 0       // Что-то не то
        LB_Warning('Error! Error! Error! Error!', '(C) Система "Эйдос-Х++"' )
   CASE Flag = 1       // Flag = 1. Если в текущей папке исполнимого файла системы нет, то скачивание и разархивирование полного архива и запуск системы на исполнение
        RunShell("","Update.exe",.T.)       // Полный архив - инсталляция
        aMess := {}
        AADD(aMess, 'Необходимо выполнить разархивирование')
        AADD(aMess, 'и только ПОСЛЕ этого закрыть данное окно')
        AADD(aMess, 'после чего система будет запущена.')
        AADD(aMess, '')
        AADD(aMess, 'Если некоторые библиотеки заняты модулем')
        AADD(aMess, 'обновления, то они не будут разархивированы.')
        AADD(aMess, 'Поэтому лучше сделать полное обновление')
        AADD(aMess, 'вручную: http://lc.kubagro.ru/Aidos-X.exe')
        AADD(aMess, '')
        AADD(aMess, 'При разархивировании необходимо выбрать')
        AADD(aMess, 'опцию: "Копировать поверх всех файлов"')
        AADD(aMess, '"Yes to All" или "OwerWrite All"')
        LB_Warning(aMess, '(C) System "Aidos-X++"' )
        ERASE("Update.exe")
        RunShell("","_aidos-x.exe",.T.)      // Исполнимый файл системы
   CASE Flag = 2       // Flag = 2. Если система устарела - скачивание обновлений и запуск новой версии системы
        RunShell("","Downloads.exe",.T.)
        aMess := {}
        AADD(aMess, 'Необходимо выполнить разархивирование')
        AADD(aMess, 'и только ПОСЛЕ этого закрыть данное окно')
        AADD(aMess, 'после чего система будет запущена.')
        AADD(aMess, '')
        AADD(aMess, 'При разархивировании необходимо выбрать')
        AADD(aMess, 'опцию: "Копировать поверх всех файлов"')
        AADD(aMess, '"Yes to All" или "OwerWrite All"')
        LB_Warning(aMess, '(C) System "Aidos-X++"' )
        RunShell("","_aidos-x.exe",.T.)
   CASE Flag = 3       // Flag = 3. Запуск существующей версии системы
        RunShell("","_aidos-x.exe",.T.)
ENDCASE

RETURN NIL

***********************************************************************************************************************
[/size]

User avatar
Eugene Lutsenko
Posts: 1649
Joined: Sat Feb 04, 2012 2:23 am
Location: Russia, Southern federal district, city of Krasnodar
Contact:

Re: How to find IP address and the MAC address of the comput

#16 Post by Eugene Lutsenko »

I am trying to make a cartographic visualization on the location of IP on JAWA, but the execution of an error ...

Code: Select all

<!DOCTYPE html>
<html>
  <head>
    <title>Localizing the Map</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>

function initMap() {
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 8,
    center: {lat: 45.03, lng: 38.98}
  });
}

    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=37.146.34.226&signed_in=true&callback=initMap"
        async defer></script>
  </body>
</html>
[/size]

Post Reply