Добавить в лог запись свойств JS Navigator
Есть простой скрипт пишущий в лог-файл браузерные данные собранные 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
------------------------------------------
Исходники прикладываю