- Регистрация
- 20.04.2015
- Сообщения
- 220
- Благодарностей
- 112
- Баллы
- 43
Есть вот такой скрипт https://valve.github.io/fingerprintjs2/, который использует библиотеку eslint для детекта браузеров.
попробуйте потестировать с не Firefox, и он даст параметр
has_lied_browser = true
За этот детект отвечает скорее всего следующий код
но т.к. в новой версии toString().length должен работать, то детект происходит за счет обработки ошибки.
Просьба добавить данную фичу в следующее обновление.
попробуйте потестировать с не Firefox, и он даст параметр
has_lied_browser = true
За этот детект отвечает скорее всего следующий код
Код:
// eslint-disable-next-line no-eval
var tempRes = eval.toString().length
if (tempRes === 37 && browser !== 'Safari' && browser !== 'Firefox' && browser !== 'Other') {
return true
} else if (tempRes === 39 && browser !== 'Internet Explorer' && browser !== 'Other') {
return true
} else if (tempRes === 33 && browser !== 'Chrome' && browser !== 'Opera' && browser !== 'Other') {
return true
}
или вот этот
// We create an error to see how it is handled
var errFirefox
try {
// eslint-disable-next-line no-throw-literal
throw 'a'
} catch (err) {
try {
err.toSource()
errFirefox = true
} catch (errOfErr) {
errFirefox = false
}
}
if (errFirefox && browser !== 'Firefox' && browser !== 'Other') {
return true
}
return false
},
Просьба добавить данную фичу в следующее обновление.