Я хочу переконатися, що відвідувачі мого веб-сайту мають найкращий досвід, тому я хочу, щоб вони могли використовувати 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 вставив "фонове зображення", яке він вставляє у поля входу, які він може автозаповнювати.
Ось приклад поля введення електронної пошти, всі речі в тег стилю додав 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, але це безумовно працює :)