Неадекватный отпечаток
-
@support сколько еще ждать? с такими отпечатками невозможно работать, так они еще и тянут процессора в 2-3 раза больше
-
@35xakers Будет до понедельника
-
@support Я так понял до следующего?)
-
31.05.17 (только что) а может быть размер окна настолько больше, чем разрешение экрана?
-
@Sevenup А что тут не так?
-
Разрешение - это разрешение экрана? Если да, то оно значительно меньше размера окна. Я не силен в андроид, но разве там может быть размер окна браузера 980х1556 при разрешении экрана 320х534?
P.S.
возможно просто какой-то глюк при генерации, потому как было указано desktop, microsoft windows, firefox. Повторно воспроизвести не удалось.
-
Я не силен в андроид, но разве там может быть размер окна браузера 980х1556 при разрешении экрана 320х534?
http://mediag.com/news/popular-screen-resolutions-designing-for-all/
-
подскажите, а как формируется разрешение экрана в отпечатке?
я собрал несколько тысяч комбинаций параметров width и height и очень мало повторяются, такое впечатление, что разрешение задается рандомно.
1920х911, 1366х614, 802х578
разве бывают такие разрешения экрана ПК?
Либо я путаю и получается, что параметры width и height в JSON отпечатка - это размер окна браузера, а разрешение экрана внутри payload, верно? В таком случае вытащить разрешения экрана из payload можно только с помощью regex либо использовать блок с JavaScript в проекте?
-
пробую вот так, но все равно получаю разрешение из параметра width и height :(хотя тот же window.screen.height если вызывается на станице, показывает верное разрешение экрана.
возможно есть какое-то иное решение, как в проекте получить эти параметры?
UPD:
если вызвать вышеуказанный блок с window.screen.height после блока загрузки страницы то значение верное. Пока нашел только такое решение.
-
@Sevenup это парметры видимой области. Например, у меня екран 1024*768, но у меня вверху в браузере 3 панели каких то яндексов спутников, + снизу панел. Задач двойная, поэтому и видимая область меньше
-
@DrPrime said in Неадекватный отпечаток:
@Sevenup это парметры видимой области. Например, у меня екран 1024*768, но у меня вверху в браузере 3 панели каких то яндексов спутников, + снизу панел. Задач двойная, поэтому и видимая область меньше
да, я уже это понял :) вопрос был в том, как получать из отпечатка именно разрешение экрана.
Через JS пока только нашел способ.
В общем сервис отпечатков работает отлично ОС распределяет вроде как в соответствии действительности:
по разрешениям экрана тоже все красиво:
авторам респект, хороший инструмент придумали. надо брать :)
P.S.
очень жду возможности управления или фильтра плагинов.
-
гайз, а почему всегда язык US?
сколько не генерю отпечатков, всегда US, а RU хоть бывает? :) может это глюк какой?
-
пока спасаюсь "сеть"->"установить заголовок"->"acept language"="ru-ru,ru;q=0.8"
но почему по умолчанию заголовок us мне не ясно. Баг, не?
-
@Sevenup said in Неадекватный отпечаток:
"acept language"="ru-ru,ru;q=0.8"
Нужно вписывать что бы сработало так? "acept language"="ru-ru,ru;q=0.8"
или так acept language=ru-ru,ru;q=0.8
И что значит 0.8?
-
@35xakers, там же поля: верхнее - Accept-Language, нижнее - собственно языки.
Q - это относительный фактор качества, своего рода приоритет использования языков. Если их несколько, то с помощью чисел от 0 до 1 можно задавать более и менее приоритетные.
-
@35xakers said in Неадекватный отпечаток:
@Sevenup said in Неадекватный отпечаток:
"acept language"="ru-ru,ru;q=0.8"
Нужно вписывать что бы сработало так? "acept language"="ru-ru,ru;q=0.8"
или так acept language=ru-ru,ru;q=0.8
И что значит 0.8?"сеть" -> "установить заголовок"
вот так:
ну языки уж каждому по необходимости. Если в ру сегменте работаете то "ru-ru,ru;q=0.8"
-
Благодарю)
-
Высота экрана 19750
Бас очень сильно залагал с этим отпечатком, пришлось приложить усилий что бы посмотреть на отпечаток в переменной)){"valid":true,"payload":"(function(){var refs={};;var aliases={};aliases[\"window.navigator.language\"] = eval(\"window.navigator.language\");aliases[\"window.navigator\"] = eval(\"window.navigator\");aliases[\"window.navigator.userAgent\"] = eval(\"window.navigator.userAgent\");aliases[\"window.navigator.javaEnabled\"] = eval(\"window.navigator.javaEnabled\");;;(function(){var resp = null;delete window.screen;Object.defineProperty(window, \"screen\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object Screen]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object Screen]\"}}});Object.defineProperty(res,\"availTop\", {configurable: true,enumerable:true, get: function() { return 0}});Object.defineProperty(res,\"width\", {configurable: true,enumerable:true, get: function() { return 1024}});Object.defineProperty(res,\"availHeight\", {configurable: true,enumerable:true, get: function() { return 768}});Object.defineProperty(res,\"height\", {configurable: true,enumerable:true, get: function() { return 768}});Object.defineProperty(res,\"availWidth\", {configurable: true,enumerable:true, get: function() { return 1024}});Object.defineProperty(res,\"colorDepth\", {configurable: true,enumerable:true, get: function() { return 32}});Object.defineProperty(res,\"availLeft\", {configurable: true,enumerable:true, get: function() { return 0}});Object.defineProperty(res,\"pixelDepth\", {configurable: true,enumerable:true, get: function() { return 32}});Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();;(function(){var resp = null;delete window.navigator;Object.defineProperty(window, \"navigator\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object Navigator]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object Navigator]\"}}});Object.defineProperty(res,\"cookieEnabled\", {configurable: true,enumerable:true, get: function() { return true}});Object.defineProperty(res,\"language\", {configurable: true,enumerable:true, get: function() { return aliases[\"window.navigator.language\"]}});Object.defineProperty(res,\"productSub\", {configurable: true,enumerable:true, get: function() { return \"20030107\"}});Object.defineProperty(res,\"product\", {configurable: true,enumerable:true, get: function() { return \"Gecko\"}});Object.defineProperty(res,\"appCodeName\", {configurable: true,enumerable:true, get: function() { return \"Mozilla\"}});Object.defineProperty(res,\"vendorSub\", {configurable: true,enumerable:true, get: function() { return \"\"}});Object.defineProperty(res,\"vendor\", {configurable: true,enumerable:true, get: function() { return \"Apple Computer, Inc.\"}});Object.defineProperty(res,\"platform\", {configurable: true,enumerable:true, get: function() { return \"Linux x86_64\"}});Object.defineProperty(res,\"appName\", {configurable: true,enumerable:true, get: function() { return \"Netscape\"}});Object.defineProperty(res,\"appVersion\", {configurable: true,enumerable:true, get: function() { return \"5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36\"}});Object.defineProperty(res,\"userAgent\", {configurable: true,enumerable:true, get: function() { return aliases[\"window.navigator.userAgent\"]}});Object.defineProperty(res,\"onLine\", {configurable: true,enumerable:true, get: function() { return true}});prot[\"javaEnabled\"] = (function(){var res = function(){if(aliases[\"window.navigator.javaEnabled\"]){return aliases[\"window.navigator.javaEnabled\"].apply(aliases[\"window.navigator\"], arguments)}}; res.toString = function(){return \"function javaEnabled() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function javaEnabled() {\\n [native code]\\n}\"}; return res;})();prot[\"getStorageUpdates\"] = (function(){var res = function(){}; res.toString = function(){return \"function getStorageUpdates() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function getStorageUpdates() {\\n [native code]\\n}\"}; return res;})();prot[\"webkitGetGamepads\"] = (function(){var res = function(){}; res.toString = function(){return \"function webkitGetGamepads() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function webkitGetGamepads() {\\n [native code]\\n}\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();;(function(){var resp = null;delete window.navigator.plugins;Object.defineProperty(window.navigator, \"plugins\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object PluginArray]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object PluginArray]\"}}});prot[\"length\"] = 0;prot[\"refresh\"] = (function(){var res = function(){}; res.toString = function(){return \"function refresh() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function refresh() {\\n [native code]\\n}\"}; return res;})();prot[\"namedItem\"] = (function(){var res = function(item){var length=window.navigator.plugins.length;for(var i=0;i<length;i++){var p = window.navigator.plugins[i];if(p.name == item)return p}}; res.toString = function(){return \"function namedItem() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function namedItem() {\\n [native code]\\n}\"}; return res;})();prot[\"item\"] = (function(){var res = function(item){return window.navigator.plugins[item]}; res.toString = function(){return \"function item() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function item() {\\n [native code]\\n}\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();;(function(){var resp = null;delete window.navigator.mimeTypes;Object.defineProperty(window.navigator, \"mimeTypes\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = (function(){var res = {};var prot = {};if(res)Object.defineProperty(res,'toString', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MimeTypeArray]\"}}});if(res)Object.defineProperty(res,'valueOf', {configurable: true,enumerable: false, get: function() { return function(){return \"[object MimeTypeArray]\"}}});prot[\"length\"] = 0;prot[\"item\"] = (function(){var res = function(item){return window.navigator.mimeTypes[item]}; res.toString = function(){return \"function item() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function item() {\\n [native code]\\n}\"}; return res;})();prot[\"namedItem\"] = (function(){var res = function(item){var length=window.navigator.mimeTypes.length;for(var i=0;i<length;i++){var p = window.navigator.mimeTypes[i];if(p.type == item)return p}}; res.toString = function(){return \"function namedItem() {\\n [native code]\\n}\"}; res.valueOf = function(){return \"function namedItem() {\\n [native code]\\n}\"}; return res;})();Object.setPrototypeOf(res, prot);return res;})();;return resp;}})})();;(function(){var resp = null;delete window.navigator.hardwareConcurrency;Object.defineProperty(window.navigator, \"hardwareConcurrency\", {configurable: true, enumerable:false, get: function() {if(resp)return resp;resp = 2;return resp;}})})();})();try{window[\"unescape\"].toString = function(){return \"function unescape() {\\n [native code]\\n}\"}; window[\"unescape\"].valueOf = function(){return \"function unescape() {\\n [native code]\\n}\"};}catch(e){}try{window[\"eval\"].toString = function(){return \"function eval() {\\n [native code]\\n}\"}; window[\"eval\"].valueOf = function(){return \"function eval() {\\n [native code]\\n}\"};}catch(e){}try{window[\"escape\"].toString = function(){return \"function escape() {\\n [native code]\\n}\"}; window[\"escape\"].valueOf = function(){return \"function escape() {\\n [native code]\\n}\"};}catch(e){}try{window[\"decodeURIComponent\"].toString = function(){return \"function decodeURIComponent() {\\n [native code]\\n}\"}; window[\"decodeURIComponent\"].valueOf = function(){return \"function decodeURIComponent() {\\n [native code]\\n}\"};}catch(e){}try{window[\"parseFloat\"].toString = function(){return \"function parseFloat() {\\n [native code]\\n}\"}; window[\"parseFloat\"].valueOf = function(){return \"function parseFloat() {\\n [native code]\\n}\"};}catch(e){}try{delete window[\"webkitSpeechRecognitionEvent\"];}catch(e){}try{delete window[\"webkitSpeechRecognitionError\"];}catch(e){}try{delete window[\"webkitSpeechRecognition\"];}catch(e){}try{delete window[\"webkitSpeechGrammarList\"];}catch(e){}try{delete window[\"webkitSpeechGrammar\"];}catch(e){}try{delete window[\"webkitOfflineAudioContext\"];}catch(e){}try{delete window[\"webkitAudioContext\"];}catch(e){}try{delete window[\"webkitStorageInfo\"];}catch(e){}try{delete window[\"webkitRTCPeerConnection\"];}catch(e){}try{delete window[\"webkitMediaStream\"];}catch(e){}try{delete window[\"webkitRequestAnimationFrame\"];}catch(e){}try{delete window[\"webkitCancelAnimationFrame\"];}catch(e){}try{delete window[\"webkitCancelRequestAnimationFrame\"];}catch(e){}try{delete window[\"webkitRequestFileSystem\"];}catch(e){}try{delete window[\"webkitResolveLocalFileSystemURL\"];}catch(e){}","ua":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36","dnt":false,"width":1920,"height":19750,"fonts":["MONO"],"headers":["Host","X-Real-Ip","X-Forwarded-For","Connection","Content-Length","Accept-Encoding","Cf-Ipcountry","Cf-Ray","X-Forwarded-Proto","Cf-Visitor","Accept-Datetime","Origin","X-Csrf-Token","If-Unmodified-Since","Authorization","If-Modified-Since","X-Requested-With","Max-Forwards","If-Range","X-Http-Method-Override","X-Request-Id","Pragma","Upgrade-Insecure-Requests","User-Agent","Content-Type","Cache-Control","If-None-Match","If-Match","Referer","Range","Accept","Accept-Language","Cookie","Cf-Connecting-Ip"]}
-
@venom777 Базу почистил, на сервере поставил валидацию.
-
@support Проверьте еще раз, отпечатки странные попадаются, предположим
Desktop,Microsoft Windows,IE разрешение 800x556
или
Desktop,Microsoft Windows,Chrome разрешение 320x240 , по поводу последнего, я на глаз, не успел сохранить.