Webサイトの訪問者がLastPassまたは他のパスワードマネージャーを使用しているかどうかを確認するにはどうすればよいですか?


21

私は自分のウェブサイトへの訪問者が可能な限り最高の体験を得られるようにしたいので、彼らがLastPassと他のパスワードマネージャーを使用できるようにしたいと思います。

私の訪問者がこれらのプラグインのいずれかを使用しているかどうかを識別する方法はありますか?


19
これらのプラグインを「具体的にサポートする」ことについてのあなたの考えは...?明示的なサポートが必要だと思いますか?
16


1
この背後にある考え方は、ユーザーがフォームのオートコンプリートツールを使用するのが好きで、LastPassがこれにかなり優れているということです。ホテル予約Webサイト、航空会社Webサイトなど、重要なフォーム入力を必要とするWebサイトにアクセスすると、迷惑になります。Web開発者は、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

@Mardzis確かに。MDNは、そのブラウザがアクセス制限を報告navigator.plugins保護、プライバシーやリターン偽の結果を:developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/...

46

私の訪問者がこれらのプラグインのいずれかを使用しているかどうか、およびそれをサポートする最善の方法を識別する方法はありますか?

パスワードマネージャをサポートする最も良い方法は、通常の<form>タグと通常のフォームを使用することです。賢いことを何もしなければ、パスワードマネージャーがその仕事をします。


8
これに追加するには:ブラウザの組み込みのパスワードマネージャーでテストします。それが機能する場合、サードパーティのソリューションも同様に機能する可能性が高いです。
ケビン

6
同意しますが、LastPassで動作しない非常に複雑な形式の角度やその他のフレームワークを使用するWebサイトが増えていることに気付きました。皮肉なことに、これらのウェブサイトは、ユーザーが本当になど。例えば航空券予約で、フォームの自動補完ツールを使用したいものになりがち
cgarvey

1
一部のパスワードマネージャーは、ブラウザにプラグインをインストールするのではなく、キーの押下をシミュレートすることに注意してください。したがって、組み込みのパスワードマネージャーが機能する場合、パスワードマネージャーも機能することは必ずしもありません。これらの場合、通常、タブナビゲーションが正しく機能することを確認する必要があります。
ライライアン

3

これらのパスワードマネージャーのほとんどはブラウザープラグインベースであり、フォームフィールドに入力し、送信者が送信ボタンを押したかのようにフォーム送信をトリガーすることで機能します。サーバーに対して、通常のフォーム送信として表示されます。パスワードマネージャー。


2

Javascriptを使用して、ユーザー名/パスワードフィールドの入力速度を検出できます。可変レートは、誰かが手動で入力していることを示唆しますが、一定レートまたはキーストロークがまったくない(コピーと貼り付け)ことは、誰かがパスワードマネージャーを使用していることを意味します。


LastPassはあるが、ログインフィールドを検出できず、手動で入力した場合、LastPassはありませんか?
ステファンBijzitter

一部のパスワードマネージャーは貼り付けをコピーし、他のユーザーはキー入力をシミュレートします。また、DOMに入り、フォームに直接入力するものもあります。また、一部のユーザーは、パスワードをメモ帳に入力してから貼り付けをコピーするため、パスワードフィールドに入力した内容を確認できます。パスワードマネージャーを検出するのは簡単ではありません。
ライライアン

2

実際の質問に答えるには、ユーザーがLastpassを使用しているかどうかを検出する1つの方法は、何らかのタイプのログインフィールドを提供し、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
このソリューションの背後にある考え方が大好きですが、フォーム上の少なくとも1つのフィールドにLastPassが入力できると想定していませんか?この質問をするように促した訪問したWebサイトは、Angularフォームを使用しており、LastPassはその上の単一のフィールドを識別できませんでした。最後のケースではないが、確かにエッジケースだと思う。
cgarvey
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.