Добавить в лог запись свойств JS Navigator

Александр13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
13.05.2019

Есть простой скрипт пишущий в лог-файл браузерные данные собранные JavaScript'ом и http-заголовки, вот в таком формате:

------------------------------------------

[12.05.2019 06:53:02] 36.255.104.37

+0400

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

Windows

Intel Mac OS X 10.14

ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

ru-RU, ru, en-US, en

check: true

function Storage() {

[native code]

}

Cookie: PHPSESSID=9401bm3k8dtbt959lng4bo0af0

Dnt: 1

X-Requested-With: XMLHttpRequest

Referer: https://www.google.com/

Accept-Encoding: gzip, deflate, br

Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

Accept: application/json, text/javascript, */*; q=0.01

User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

Connection: close

X-Forwarded-Port: 443

X-Forwarded-Proto: https

Host: site.ru

------------------------------------------

Нужно внести изменение, чтобы перед http-заголовками в этом логе выводился еще полный список JS Navigator-функций со свойствами, то есть вот таких: смотрите пример

В результате лог должен выглядеть примерно так:

------------------------------------------

[12.05.2019 06:53:02] 36.255.104.37

+0400

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

Windows

Intel Mac OS X 10.14

ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

ru-RU, ru, en-US, en

check: true

function Storage() {

[native code]

}

--Navigator:

vibrate  function vibrate() { [native code] }

javaEnabled  function javaEnabled() { [native code] }

getGamepads  function getGamepads() { [native code] }

getVRDisplays  function getVRDisplays() { [native code] }

mozGetUserMedia  function mozGetUserMedia() { [native code] }

sendBeacon  function sendBeacon() { [native code] }

requestMediaKeySystemAccess  function requestMediaKeySystemAccess() { [native code] }

registerProtocolHandler  function registerProtocolHandler() { [native code] }

taintEnabled  function taintEnabled() { [native code] }

permissions  [object Permissions]

mimeTypes  [object MimeTypeArray]

plugins  [object PluginArray]

doNotTrack  1

maxTouchPoints  0

mediaCapabilities  [object MediaCapabilities]

oscpu  Intel Mac OS X 10.14

vendor  

vendorSub  

productSub  20100101

cookieEnabled  true

buildID  20181001000000

activeVRDisplays  

mediaDevices  [object MediaDevices]

serviceWorker  [object ServiceWorkerContainer]

credentials  [object CredentialsContainer]

clipboard  [object Clipboard]

webdriver  false

hardwareConcurrency  4

geolocation  [object Geolocation]

appCodeName  Mozilla

appName  Netscape

appVersion  5.0 (Macintosh)

platform  MacIntel

userAgent  Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

product  Gecko

language  ru-RU

languages  ru-RU,ru,en-US,en

onLine  true

storage  [object StorageManager]

--

Cookie: PHPSESSID=9401bm3k8dtbt959lng4bo0af0

Dnt: 1

X-Requested-With: XMLHttpRequest

Referer: https://www.google.com/

Accept-Encoding: gzip, deflate, br

Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

Accept: application/json, text/javascript, */*; q=0.01

User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.67 Safari/537.36

Connection: close

X-Forwarded-Port: 443

X-Forwarded-Proto: https

Host: site.ru

------------------------------------------

Исходники прикладываю

Заявки фрилансеров