Bagaimana saya bisa tahu jika pengunjung situs web saya menggunakan LastPass atau pengelola kata sandi lainnya?

21

Saya ingin memastikan pengunjung situs web saya memiliki pengalaman terbaik sehingga saya ingin mereka dapat menggunakan LastPass dan Pengelola Kata Sandi lainnya.

Apakah ada cara untuk mengidentifikasi apakah pengunjung saya menggunakan salah satu dari plugin ini?

cgarvey
sumber
19
Apa ide Anda tentang "secara khusus mendukung" plugin ini ...? Menurut Anda apa yang membutuhkan dukungan eksplisit?
menipu
1
Gagasan di balik ini adalah bahwa Pengguna suka menggunakan alat pelengkapan formulir otomatis dan LastPass cukup bagus dalam hal ini. Itu mengganggu saya ketika saya mengunjungi situs web yang membutuhkan pengisian formulir yang signifikan misalnya situs web reservasi hotel, situs web maskapai penerbangan dll ... dan pengembang web tidak peduli untuk memeriksa apakah formulir mereka dapat diisi oleh LastPass dan alat serupa. Agar adil, saya baru menyadari bahwa ini tidak segera terlihat dalam pertanyaan, tetapi keamanan bukanlah motivasi utama di balik komentar ini.
cgarvey
Saya pikir di dunia yang ideal, saya ingin dapat memeriksa alat analisis saya dan melihat berapa banyak pengunjung saya mengisi formulir secara manual, dan berapa banyak yang digunakan dan ekstensi browser. Karena itu pertanyaannya.
cgarvey

Jawaban:

13

Iya nih.

Pengguna dapat menginstal LastPass sebagai plugin browser. Dengan demikian Anda dapat mengandalkan bahasa skrip sisi klien untuk memeriksa apakah LastPass diinstal.

Misalnya, menggunakan NavigatorPlugins.pluginsmemungkinkan Anda untuk mendapatkan PluginArrayobjek, daftar plugin yang terinstal di aplikasi:

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

Perhatikan juga bahwa apa yang Anda minta umumnya diterapkan dan digunakan oleh teknologi sidik jari peramban .

Billal Begueradj
sumber
Yah saya akan selalu lebih suka mengatakan hal-hal yang tidak Anda katakan - jika tidak semua yang saya katakan akan berlebihan, bukan? ;) Namun demikian, ketika Anda menyunting hal-hal yang saya rujuk, komentar saya menjadi diperdebatkan (atau setidaknya sekarang menggantung di udara)
Hagen von Eitzen
1
Tidak bekerja sama sekali: /
Mardzis
@Mardzis Memang. MDN melaporkan bahwa browser membatasi akses ke navigator.pluginsatau mengembalikan hasil palsu untuk melindungi privasi: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/…
Dai
46

Apakah ada cara untuk mengidentifikasi apakah pengunjung saya menggunakan salah satu plugin ini dan bagaimana cara terbaik untuk mendukungnya?

Sejauh ini cara terbaik untuk mendukung pengelola kata sandi adalah dengan menggunakan <form>tag normal dan bentuk normal. Jika Anda tidak melakukan sesuatu yang pintar, maka pengelola kata sandi akan melakukan tugasnya.

dotancohen
sumber
8
Untuk menambah ini: Uji dengan pengelola kata sandi bawaan browser. Jika berhasil, kemungkinan besar solusi pihak ketiga juga akan berfungsi.
Kevin
6
Saya setuju, tetapi saya perhatikan semakin banyak situs menggunakan sudut dan kerangka kerja lain dengan bentuk yang sangat rumit yang tidak berfungsi dengan LastPass. Ironisnya, situs web ini cenderung menjadi situs yang benar-benar diinginkan Pengguna untuk menggunakan alat pelengkapan formulir otomatis dengan mis. Pemesanan penerbangan dll.
cgarvey
1
Perhatikan beberapa manajer kata sandi mensimulasikan penekanan tombol daripada menginstal plugin di browser. Jadi tidak harus demikian halnya jika pengelola kata sandi bawaan berfungsi, pengelola kata sandi juga akan berfungsi. Dalam kasus ini, Anda biasanya harus memastikan navigasi tab berfungsi dengan benar.
Lie Ryan
3

Sebagian besar pengelola kata sandi ini berbasis browser dan bekerja dengan mengisi kolom formulir dan memicu pengiriman formulir seolah-olah ueer menekan tombol kirim, ke server itu muncul sebagai pengiriman formulir normal, tidak ada cara untuk mengetahui apakah itu berasal dari pengelola kata sandi.

Chris Rutherfurd
sumber
2

Anda dapat menggunakan Javascript untuk mendeteksi kecepatan mengetik di bidang nama pengguna / kata sandi. Tingkat variabel menyarankan seseorang mengetikkannya secara manual sementara laju konstan atau bahkan tanpa penekanan tombol sama sekali (copy-paste) berarti seseorang menggunakan pengelola kata sandi.

André Borie
sumber
Jadi jika saya memiliki LastPass, tetapi tidak dapat mendeteksi bidang login dan saya mengetik secara manual, apakah saya tidak memiliki LastPass?
Stephan Bijzitter
Beberapa manajer kata sandi menyalin pasta, yang lain mensimulasikan penekanan tombol, dan ada juga yang masuk ke DOM dan mengisi formulir secara langsung. Juga, beberapa pengguna mungkin mengetik kata sandi mereka di notepad kemudian menyalin pasta, sehingga mereka dapat melihat apa yang mereka ketikkan di bidang kata sandi. Tidak mudah untuk mendeteksi pengelola kata sandi.
Lie Ryan
2

Untuk menjawab pertanyaan yang sebenarnya, salah satu cara untuk mendeteksi apakah pengguna menggunakan Lastpass adalah dengan menyediakan beberapa jenis bidang login dan menggunakan jQuery atau serupa untuk melihat apakah Lastpass telah memasukkan "gambar latar" yang dimasukkan ke dalam bidang login yang dapat diisi otomatis.

Berikut adalah contoh bidang input email, semua hal dalam tag gaya telah ditambahkan oleh 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">

Ini mungkin bukan cara yang paling efektif untuk mendeteksi jika pengguna menggunakan Lastpass, tetapi pasti berhasil :)

Keith M
sumber
2
Suka pemikiran di balik solusi ini tetapi tidakkah ia berasumsi bahwa setidaknya satu bidang pada formulir dapat diisi oleh LastPass? Situs web yang saya kunjungi yang mendorong saya untuk mengajukan pertanyaan ini menggunakan formulir Angular dan LastPass tidak dapat mengidentifikasi satu bidang di dalamnya. Kasus tepi untuk memastikan tetapi bukan yang terakhir saya akan melihat saya pikir.
cgarvey