私は自分のウェブサイトへの訪問者が可能な限り最高の体験を得られるようにしたいので、彼らが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;
}
また、あなたが求めているのは、一般的に ブラウザフィンガープリント テクノロジによって実装され使用されていることです。
私の訪問者がこれらのプラグインのいずれかを使用しているかどうか、およびそれをサポートする最善の方法を識別する方法はありますか?
パスワードマネージャーをサポートする最も良い方法は、通常の<form>
タグと通常のフォームを使用することです。 巧妙なことを何もしなければ、パスワードマネージャーは仕事をします。
これらのパスワードマネージャーのほとんどはブラウザープラグインベースであり、フォームフィールドに入力し、送信者が送信ボタンを押したかのようにフォーム送信をトリガーすることで機能します。サーバーに対して、通常のフォーム送信として表示されます。パスワードマネージャー。
Javascriptを使用して、ユーザー名/パスワードフィールドの入力速度を検出できます。可変レートは、誰かが手動で入力していることを示唆しますが、一定レートまたはキーストロークがまったくない(コピーと貼り付け)ことは、誰かがパスワードマネージャーを使用していることを意味します。
実際の質問に答えるために、ユーザーがLastpassを使用しているかどうかを検出する方法の1つは、何らかのタイプのログインフィールドを提供し、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を使用しているかどうかを検出する最も効果的な方法ではないかもしれませんが、間違いなく動作します:)