¿Cómo puedo saber si los visitantes de mi sitio web están usando LastPass u otros administradores de contraseñas?

21

Quiero asegurarme de que los visitantes de mi sitio web tengan la mejor experiencia posible para que puedan usar LastPass y otros administradores de contraseñas.

¿Hay alguna forma de identificar si mis visitantes están utilizando uno de estos complementos?

cgarvey
fuente
19
¿Cuál es su idea sobre "apoyar específicamente" estos complementos ...? ¿Qué crees que requiere un apoyo explícito?
deceze
1
La idea detrás de esto es que a los usuarios les gusta usar herramientas de autocompletado de formularios y LastPass es bastante bueno en esto. Me molesta cuando visito un sitio web que requiere un llenado significativo de formularios, por ejemplo, sitios web de reservas de hoteles, sitios web de aerolíneas, etc., y el desarrollador web no se ha molestado en verificar si LastPass y herramientas similares pueden llenar o no sus formularios. Para ser justos, me acabo de dar cuenta de que esto no era evidente de inmediato en la pregunta, pero la seguridad no era la motivación principal detrás de este comentario.
cgarvey
Creo que en un mundo ideal, me gustaría poder verificar mi herramienta de análisis y ver cuántos de mis visitantes completaron formularios manualmente y cuántos usaron y la extensión del navegador. De ahí la pregunta.
cgarvey

Respuestas:

13

Sí.

Los usuarios pueden instalar LastPass como complemento del navegador. Por lo tanto, puede confiar en los lenguajes de secuencias de comandos del lado del cliente para verificar si LastPass está instalado.

Por ejemplo, el uso le NavigatorPlugins.pluginspermite obtener un PluginArrayobjeto, enumerando los complementos instalados en la aplicación:

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

Tenga en cuenta también que lo que está pidiendo es comúnmente implementado y utilizado por las tecnologías de huellas digitales del navegador .

Billal Begueradj
fuente
Bueno, siempre preferiría decir cosas que no dijiste; de ​​lo contrario, todo lo que digo sería redundante, ¿no? ;) Sin embargo, mientras editaba las cosas a las que me refería, mis comentarios se volvieron discutibles (o al menos ahora están colgando en el aire)
Hagen von Eitzen
1
No funciona en absoluto: /
Mardzis
@Mardzis De hecho. MDN informa que el navegador restringir el acceso a navigator.plugins, o resultados falsos de retorno a la privacidad de protección: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/...
Dai
46

¿Hay alguna forma de identificar si mis visitantes están utilizando uno de estos complementos y cuál es la mejor manera de admitirlo?

Con mucho, la mejor manera de admitir administradores de contraseñas es usar <form>etiquetas normales y una forma normal. Si no hace nada inteligente, el administrador de contraseñas hará su trabajo.

dotancohen
fuente
8
Para agregar a esto: Pruebe con el administrador de contraseñas incorporado del navegador. Si eso funciona, es muy probable que las soluciones de terceros también funcionen.
Kevin
66
Estoy de acuerdo, pero he notado un número creciente de sitios web que utilizan marcos angulares y otros con formas extremadamente complicadas que no funcionan con LastPass. Irónicamente, estos sitios web tienden a ser las que los usuarios realmente desean utilizar herramientas con forma de autocompletado reservas aéreas por ejemplo, etc ..
cgarvey
1
Tenga en cuenta que algunos administradores de contraseñas simulan las pulsaciones de teclas en lugar de instalar un complemento en el navegador. Por lo tanto, no es necesariamente el caso de que si el administrador de contraseñas incorporado funciona, el administrador de contraseñas también funcionaría. En estos casos, generalmente debe asegurarse de que la navegación con pestañas funcione correctamente.
Lie Ryan
3

La mayoría de estos administradores de contraseñas se basan en complementos del navegador y funcionan al completar los campos del formulario y activar un envío de formulario como si el usuario presionó el botón de envío, al servidor aparece como un envío de formulario normal, no hay forma de saber si proviene de un administrador de contraseñas

Chris Rutherfurd
fuente
2

Puede usar Javascript para detectar la velocidad de escritura en los campos de nombre de usuario / contraseña. Una velocidad variable sugiere que alguien lo está escribiendo manualmente, mientras que una velocidad constante o incluso ninguna pulsación de tecla (copiar y pegar) significa que alguien está usando un administrador de contraseñas.

André Borie
fuente
Entonces, si tengo LastPass, pero no puede detectar el campo de inicio de sesión y escribo manualmente, ¿no tengo LastPass?
Stephan Bijzitter
Algunos administradores de contraseñas copian las pastas, otras simulan las pulsaciones de teclas, y también hay quienes ingresan al DOM y llenan el formulario directamente. Además, algunos usuarios pueden escribir su contraseña en el bloc de notas y luego copiar las pastas, para que puedan ver lo que están escribiendo en el campo de contraseña. No es tan sencillo detectar administradores de contraseñas.
Lie Ryan
2

Para responder a la pregunta real, una forma de detectar si los usuarios están usando Lastpass es proporcionar algún tipo de campo de inicio de sesión y usar jQuery o similar para ver si Lastpass ha insertado la "imagen de fondo" que inserta en los campos de inicio de sesión que puede rellenar automáticamente.

Aquí hay un ejemplo de un campo de entrada de correo electrónico, Lastpass ha agregado todas las cosas en la etiqueta de estilo:

<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">

Esta puede no ser la forma más efectiva de detectar si un usuario está usando Lastpass, pero definitivamente funciona :)

Keith M
fuente
2
Me encanta el pensamiento detrás de esta solución, pero ¿no supone que LastPass puede llenar al menos un campo en un formulario? El sitio web que visité que me llevó a hacer esta pregunta estaba usando un formulario angular y LastPass no pudo identificar un solo campo en él. Un caso extremo para estar seguro, pero no el último que veré, creo.
cgarvey