Я хочу убедиться, что посетители моего сайта имеют наилучшие возможности, поэтому я хочу, чтобы они могли использовать LastPass и другие Менеджеры паролей.
Есть ли способ определить, используют ли мои посетители один из этих плагинов?
Я хочу убедиться, что посетители моего сайта имеют наилучшие возможности, поэтому я хочу, чтобы они могли использовать LastPass и другие Менеджеры паролей.
Есть ли способ определить, используют ли мои посетители один из этих плагинов?
Ответы:
Да.
Пользователи могут установить LastPass как плагин для браузера. Таким образом, вы можете положиться на клиентские скриптовые языки, чтобы проверить, установлен ли LastPass.
Например, использование NavigatorPlugins.plugins
позволяет вам получить PluginArray
объект, перечисляя плагины, установленные в приложении:
function getLastPassVersion() {
var lastpass = navigator.plugins['LastPass'];
if (lastpass === undefined) {
// LastPass is not present
return undefined;
}
return lastpass.version;
}
Также обратите внимание, что то, что вы просите, обычно реализуется и используется технологиями дактилоскопии в браузере .
navigator.plugins
или возвращает ложные результаты для защиты конфиденциальности: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/…
Есть ли способ определить, используют ли мои посетители один из этих плагинов и как лучше его поддерживать?
Безусловно, лучший способ поддержки менеджеров паролей - использовать обычные <form>
теги и обычную форму. Если вы не делаете ничего умного, тогда менеджер паролей выполнит свою работу.
Большинство из этих менеджеров паролей основаны на плагинах браузера и работают, заполняя поля формы и инициируя отправку формы, как если бы пользователь нажал кнопку отправки, на сервер это выглядит как обычная отправка формы, и нет способа узнать, приходит ли она от менеджер паролей.
Вы можете использовать Javascript для определения скорости набора в полях имени пользователя и пароля. Переменная скорость предполагает, что кто-то вводит ее вручную, в то время как постоянная скорость или даже отсутствие нажатия клавиш (копирование-вставка) означает, что кто-то использует менеджер паролей.
Чтобы ответить на реальный вопрос, один из способов определить, используют ли пользователи Lastpass, состоит в том, чтобы предоставить поле входа в систему какого-либо типа и использовать jQuery или аналогичный метод, чтобы увидеть, вставил ли Lastpass «фоновое изображение», которое он вставляет в поля входа, которые он может заполнить автоматически.
Вот пример поля ввода электронной почты, все содержимое тега style было добавлено Lastpass:
<input type="text" class="form-control" id="inputEmail" placeholder="Email" style="cursor: pointer; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAPhJREFUOBHlU70KgzAQPlMhEvoQTg6OPoOjT+JWOnRqkUKHgqWP4OQbOPokTk6OTkVULNSLVc62oJmbIdzd95NcuGjX2/3YVI/Ts+t0WLE2ut5xsQ0O+90F6UxFjAI8qNcEGONia08e6MNONYwCS7EQAizLmtGUDEzTBNd1fxsYhjEBnHPQNG3KKTYV34F8ec/zwHEciOMYyrIE3/ehKAqIoggo9inGXKmFXwbyBkmSQJqmUNe15IRhCG3byphitm1/eUzDM4qR0TTNjEixGdAnSi3keS5vSk2UDKqqgizLqB4YzvassiKhGtZ/jDMtLOnHz7TE+yf8BaDZXA509yeBAAAAAElFTkSuQmCC"); background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; background-repeat: no-repeat;" autocomplete="off">
Возможно, это не самый эффективный способ определить, использует ли пользователь Lastpass, но он определенно работает :)