Как я могу узнать, используют ли посетители моего сайта LastPass или другие менеджеры паролей?
21
Я хочу убедиться, что посетители моего сайта имеют наилучшие возможности, поэтому я хочу, чтобы они могли использовать LastPass и другие Менеджеры паролей.
Есть ли способ определить, используют ли мои посетители один из этих плагинов?
Идея заключается в том, что пользователям нравится использовать инструменты автозаполнения форм, и LastPass довольно хорош в этом. Меня беспокоит, когда я посещаю веб-сайт, требующий значительного заполнения форм, например веб-сайты бронирования отелей, веб-сайты авиакомпаний и т. Д., И веб-разработчик не удосужился проверить, можно ли заполнять их формы LastPass и аналогичными инструментами. Честно говоря, я только что понял, что это не сразу проявилось в вопросе, но безопасность не была главной мотивацией этого комментария.
cgarvey
Я думаю, что в идеальном мире я хотел бы иметь возможность проверить мой инструмент аналитики и посмотреть, сколько моих посетителей заполнили формы вручную, а сколько использовало и расширение браузера. Отсюда и вопрос.
cgarvey
Ответы:
13
Да.
Пользователи могут установить LastPass как плагин для браузера. Таким образом, вы можете положиться на клиентские скриптовые языки, чтобы проверить, установлен ли LastPass.
function getLastPassVersion() {
var lastpass = navigator.plugins['LastPass'];
if (lastpass === undefined) {
// LastPass is not present
return undefined;
}
return lastpass.version;
}
Также обратите внимание, что то, что вы просите, обычно реализуется и используется технологиями дактилоскопии в браузере .
Ну, я всегда предпочитаю говорить то, чего ты не говорил, иначе все, что я скажу, было бы излишним, не так ли? ;) Тем не менее, когда вы отредактировали вещи, на которые я ссылался, мои комментарии стали спорными (или, по крайней мере, теперь они болтаются в воздухе)
Есть ли способ определить, используют ли мои посетители один из этих плагинов и как лучше его поддерживать?
Безусловно, лучший способ поддержки менеджеров паролей - использовать обычные <form>теги и обычную форму. Если вы не делаете ничего умного, тогда менеджер паролей выполнит свою работу.
Чтобы добавить к этому: Проверьте с помощью встроенного в браузер менеджера паролей. Если это сработает, весьма вероятно, что сторонние решения также будут работать.
Кевин
6
Я согласен, но я заметил растущее число сайтов, использующих угловые и другие фреймворки с чрезвычайно сложными формами, которые не работают с LastPass. По иронии судьбы, эти сайты, как правило, являются теми, которые пользователи действительно хотят использовать с помощью инструментов автозаполнения, например, для бронирования авиабилетов и т. Д.
cgarvey
1
Обратите внимание, что некоторый менеджер паролей имитирует нажатия клавиш, а не устанавливает плагин в браузере. Так что не обязательно так, что если встроенный менеджер паролей работает, менеджер паролей также будет работать. В этих случаях обычно следует убедиться, что навигация по вкладкам работает правильно.
Ли Райан
3
Большинство из этих менеджеров паролей основаны на плагинах браузера и работают, заполняя поля формы и инициируя отправку формы, как если бы пользователь нажал кнопку отправки, на сервер это выглядит как обычная отправка формы, и нет способа узнать, приходит ли она от менеджер паролей.
Вы можете использовать Javascript для определения скорости набора в полях имени пользователя и пароля. Переменная скорость предполагает, что кто-то вводит ее вручную, в то время как постоянная скорость или даже отсутствие нажатия клавиш (копирование-вставка) означает, что кто-то использует менеджер паролей.
Так что, если у меня есть LastPass, но он не может определить поле для входа и я набираю вручную, у меня нет LastPass?
Стефан Бийзиттер,
Некоторые менеджеры паролей копируют вставки, другие имитируют нажатия клавиш, а есть и такие, которые попадают в DOM и непосредственно заполняют форму. Кроме того, некоторые пользователи могут ввести свой пароль в блокноте, а затем скопировать вставки, чтобы они могли видеть, что они вводят в поле пароля. Это не так просто, чтобы обнаружить менеджеры паролей.
Ли Райан
2
Чтобы ответить на реальный вопрос, один из способов определить, используют ли пользователи Lastpass, состоит в том, чтобы предоставить поле входа в систему какого-либо типа и использовать jQuery или аналогичный метод, чтобы увидеть, вставил ли Lastpass «фоновое изображение», которое он вставляет в поля входа, которые он может заполнить автоматически.
Вот пример поля ввода электронной почты, все содержимое тега style было добавлено Lastpass:
Вам нравится думать об этом решении, но разве он не предполагает, что хотя бы одно поле формы может быть заполнено LastPass? Веб-сайт, который я посетил и побудил меня задать этот вопрос, использовал угловую форму, и LastPass не смог определить ни одного поля на ней. Конечно, крайний случай, но не последний, который я увижу, я думаю.
Ответы:
Да.
Пользователи могут установить LastPass как плагин для браузера. Таким образом, вы можете положиться на клиентские скриптовые языки, чтобы проверить, установлен ли LastPass.
Например, использование
NavigatorPlugins.plugins
позволяет вам получитьPluginArray
объект, перечисляя плагины, установленные в приложении:Также обратите внимание, что то, что вы просите, обычно реализуется и используется технологиями дактилоскопии в браузере .
источник
navigator.plugins
или возвращает ложные результаты для защиты конфиденциальности: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/…Безусловно, лучший способ поддержки менеджеров паролей - использовать обычные
<form>
теги и обычную форму. Если вы не делаете ничего умного, тогда менеджер паролей выполнит свою работу.источник
Большинство из этих менеджеров паролей основаны на плагинах браузера и работают, заполняя поля формы и инициируя отправку формы, как если бы пользователь нажал кнопку отправки, на сервер это выглядит как обычная отправка формы, и нет способа узнать, приходит ли она от менеджер паролей.
источник
Вы можете использовать Javascript для определения скорости набора в полях имени пользователя и пароля. Переменная скорость предполагает, что кто-то вводит ее вручную, в то время как постоянная скорость или даже отсутствие нажатия клавиш (копирование-вставка) означает, что кто-то использует менеджер паролей.
источник
Чтобы ответить на реальный вопрос, один из способов определить, используют ли пользователи Lastpass, состоит в том, чтобы предоставить поле входа в систему какого-либо типа и использовать jQuery или аналогичный метод, чтобы увидеть, вставил ли Lastpass «фоновое изображение», которое он вставляет в поля входа, которые он может заполнить автоматически.
Вот пример поля ввода электронной почты, все содержимое тега style было добавлено Lastpass:
Возможно, это не самый эффективный способ определить, использует ли пользователь Lastpass, но он определенно работает :)
источник