Как я могу определить, используют ли посетители моего сайта LastPass или другие менеджеры паролей?
Я хочу убедиться, что посетители моего веб-сайта имеют наилучшие возможности, поэтому я хочу, чтобы они могли использовать LastPass и другие менеджеры паролей.
Есть ли какой-либо способ определить, используют ли мои посетители один из этих плагинов или нет?
5 answers
Да.
Пользователи могут установить LastPass в качестве плагина для браузера. Таким образом, вы можете полагаться на языки сценариев на стороне клиента, чтобы проверить, установлен ли LastPass.
Например, используя NavigatorPlugins.plugins
позволяет вам получить PluginArray
объект, перечисляющий плагины, установленные в приложении:
function getLastPassVersion() {
var lastpass = navigator.plugins['LastPass'];
if (lastpass === undefined) {
// LastPass is not present
return undefined;
}
return lastpass.version;
}
Обратите также внимание, что то, о чем вы просите, обычно реализуется и используется технологиями снятия отпечатков пальцев в браузере .
Есть ли какой-либо способ определить, используют ли мои посетители один из этих плагинов и как лучше всего его поддерживать?
Безусловно, лучший способ поддержки менеджеров паролей - использовать обычные теги <form>
и обычную форму. Если вы не сделаете ничего умного, то менеджер паролей сделает свою работу.
Большинство из этих менеджеров паролей основаны на плагинах браузера и работают путем заполнения полей формы и запуска отправки формы, как если бы ueer нажал кнопку отправки, на сервере она отображается как обычная отправка формы, невозможно определить, исходит ли она от менеджера паролей.
Вы можете использовать Javascript для определения скорости ввода в полях имя пользователя/пароль. Переменная скорость предполагает, что кто-то вводит ее вручную, в то время как постоянная скорость или даже отсутствие нажатий клавиш вообще (копирование-вставка) означает, что кто-то использует менеджер паролей.
Чтобы ответить на фактический вопрос, один из способов определить, используют ли пользователи Lastpass, - это указать какое-либо поле входа и использовать jQuery или аналогичное, чтобы узнать, вставил ли Lastpass "фоновое изображение", которое он вставляет в поля входа, которые он может автоматически заполнять.
Вот пример поля ввода электронной почты, все данные в теге стиля были добавлены 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, но он определенно работает:)