Как я могу узнать, используют ли посетители моего сайта LastPass или другие менеджеры паролей?

21

Я хочу убедиться, что посетители моего сайта имеют наилучшие возможности, поэтому я хочу, чтобы они могли использовать LastPass и другие Менеджеры паролей.

Есть ли способ определить, используют ли мои посетители один из этих плагинов?

cgarvey
источник
19
Что вы думаете о «специальной поддержке» этих плагинов ...? Как вы думаете, требует явной поддержки?
августа
1
Идея заключается в том, что пользователям нравится использовать инструменты автозаполнения форм, и LastPass довольно хорош в этом. Меня беспокоит, когда я посещаю веб-сайт, требующий значительного заполнения форм, например веб-сайты бронирования отелей, веб-сайты авиакомпаний и т. Д., И веб-разработчик не удосужился проверить, можно ли заполнять их формы LastPass и аналогичными инструментами. Честно говоря, я только что понял, что это не сразу проявилось в вопросе, но безопасность не была главной мотивацией этого комментария.
cgarvey
Я думаю, что в идеальном мире я хотел бы иметь возможность проверить мой инструмент аналитики и посмотреть, сколько моих посетителей заполнили формы вручную, а сколько использовало и расширение браузера. Отсюда и вопрос.
cgarvey

Ответы:

13

Да.

Пользователи могут установить LastPass как плагин для браузера. Таким образом, вы можете положиться на клиентские скриптовые языки, чтобы проверить, установлен ли LastPass.

Например, использование NavigatorPlugins.pluginsпозволяет вам получить PluginArrayобъект, перечисляя плагины, установленные в приложении:

function getLastPassVersion() {
  var lastpass = navigator.plugins['LastPass'];
  if (lastpass === undefined) {
    // LastPass is not present
    return undefined;
  }
  return lastpass.version;
}

Также обратите внимание, что то, что вы просите, обычно реализуется и используется технологиями дактилоскопии в браузере .

Биллаль Бегерадж
источник
Ну, я всегда предпочитаю говорить то, чего ты не говорил, иначе все, что я скажу, было бы излишним, не так ли? ;) Тем не менее, когда вы отредактировали вещи, на которые я ссылался, мои комментарии стали спорными (или, по крайней мере, теперь они болтаются в воздухе)
Хаген фон Айцен
1
Не работает вообще: /
Mardzis
@ Мардсис Действительно. MDN сообщает, что браузер ограничивает доступ navigator.pluginsили возвращает ложные результаты для защиты конфиденциальности: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/…
Dai
46

Есть ли способ определить, используют ли мои посетители один из этих плагинов и как лучше его поддерживать?

Безусловно, лучший способ поддержки менеджеров паролей - использовать обычные <form>теги и обычную форму. Если вы не делаете ничего умного, тогда менеджер паролей выполнит свою работу.

dotancohen
источник
8
Чтобы добавить к этому: Проверьте с помощью встроенного в браузер менеджера паролей. Если это сработает, весьма вероятно, что сторонние решения также будут работать.
Кевин
6
Я согласен, но я заметил растущее число сайтов, использующих угловые и другие фреймворки с чрезвычайно сложными формами, которые не работают с LastPass. По иронии судьбы, эти сайты, как правило, являются теми, которые пользователи действительно хотят использовать с помощью инструментов автозаполнения, например, для бронирования авиабилетов и т. Д.
cgarvey
1
Обратите внимание, что некоторый менеджер паролей имитирует нажатия клавиш, а не устанавливает плагин в браузере. Так что не обязательно так, что если встроенный менеджер паролей работает, менеджер паролей также будет работать. В этих случаях обычно следует убедиться, что навигация по вкладкам работает правильно.
Ли Райан
3

Большинство из этих менеджеров паролей основаны на плагинах браузера и работают, заполняя поля формы и инициируя отправку формы, как если бы пользователь нажал кнопку отправки, на сервер это выглядит как обычная отправка формы, и нет способа узнать, приходит ли она от менеджер паролей.

Крис Рутерфурд
источник
2

Вы можете использовать Javascript для определения скорости набора в полях имени пользователя и пароля. Переменная скорость предполагает, что кто-то вводит ее вручную, в то время как постоянная скорость или даже отсутствие нажатия клавиш (копирование-вставка) означает, что кто-то использует менеджер паролей.

Андре Бори
источник
Так что, если у меня есть LastPass, но он не может определить поле для входа и я набираю вручную, у меня нет LastPass?
Стефан Бийзиттер,
Некоторые менеджеры паролей копируют вставки, другие имитируют нажатия клавиш, а есть и такие, которые попадают в DOM и непосредственно заполняют форму. Кроме того, некоторые пользователи могут ввести свой пароль в блокноте, а затем скопировать вставки, чтобы они могли видеть, что они вводят в поле пароля. Это не так просто, чтобы обнаружить менеджеры паролей.
Ли Райан
2

Чтобы ответить на реальный вопрос, один из способов определить, используют ли пользователи Lastpass, состоит в том, чтобы предоставить поле входа в систему какого-либо типа и использовать jQuery или аналогичный метод, чтобы увидеть, вставил ли Lastpass «фоновое изображение», которое он вставляет в поля входа, которые он может заполнить автоматически.

Вот пример поля ввода электронной почты, все содержимое тега style было добавлено Lastpass:

<input type="text" class="form-control" id="inputEmail" placeholder="Email" style="cursor: pointer; background-image: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAPhJREFUOBHlU70KgzAQPlMhEvoQTg6OPoOjT+JWOnRqkUKHgqWP4OQbOPokTk6OTkVULNSLVc62oJmbIdzd95NcuGjX2/3YVI/Ts+t0WLE2ut5xsQ0O+90F6UxFjAI8qNcEGONia08e6MNONYwCS7EQAizLmtGUDEzTBNd1fxsYhjEBnHPQNG3KKTYV34F8ec/zwHEciOMYyrIE3/ehKAqIoggo9inGXKmFXwbyBkmSQJqmUNe15IRhCG3byphitm1/eUzDM4qR0TTNjEixGdAnSi3keS5vSk2UDKqqgizLqB4YzvassiKhGtZ/jDMtLOnHz7TE+yf8BaDZXA509yeBAAAAAElFTkSuQmCC&quot;); background-attachment: scroll; background-size: 16px 18px; background-position: 98% 50%; background-repeat: no-repeat;" autocomplete="off">

Возможно, это не самый эффективный способ определить, использует ли пользователь Lastpass, но он определенно работает :)

Кит М
источник
2
Вам нравится думать об этом решении, но разве он не предполагает, что хотя бы одно поле формы может быть заполнено LastPass? Веб-сайт, который я посетил и побудил меня задать этот вопрос, использовал угловую форму, и LastPass не смог определить ни одного поля на ней. Конечно, крайний случай, но не последний, который я увижу, я думаю.
cgarvey