Como posso saber se os visitantes do meu site estão usando o LastPass ou outros gerenciadores de senhas?


21

Quero garantir que os visitantes do meu site tenham a melhor experiência possível, para que eles possam usar o LastPass e outros gerenciadores de senhas.

Existe alguma maneira de identificar se meus visitantes estão ou não usando um desses plugins?


19
Qual é a sua idéia de "apoiar especificamente" esses plugins ...? O que você acha que requer suporte explícito?
Dez15


1
A idéia por trás disso é que os usuários gostam de usar as ferramentas de preenchimento automático de formulários e o LastPass é muito bom nisso. Incomoda-me quando visito um site que exige preenchimento significativo de formulários, por exemplo, sites de reservas de hotéis, sites de companhias aéreas etc ... e o desenvolvedor da web não se preocupou em verificar se seus formulários podem ou não ser preenchidos pelo LastPass e ferramentas similares. Para ser justo, acabei de perceber que isso não era imediatamente aparente na pergunta, mas a segurança não era a principal motivação por trás desse comentário.
cgarvey

Penso que, em um mundo ideal, gostaria de poder verificar minha ferramenta de análise e ver quantos dos meus visitantes preencheram os formulários manualmente e quantos utilizaram e a extensão do navegador. Daí a questão.
precisa saber é o seguinte

Respostas:


13

Sim.

Os usuários podem instalar o LastPass como um plug-in do navegador. Assim, você pode confiar nas linguagens de script do lado do cliente para verificar se o LastPass está instalado.

Por exemplo, usar NavigatorPlugins.pluginspermite obter o PluginArrayobjeto a, listando os plugins instalados no aplicativo:

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

Observe também que o que você está solicitando é geralmente implementado e usado pelas tecnologias de impressão digital do navegador .


Bem, eu sempre prefiro dizer coisas que você não disse - caso contrário, tudo o que digo seria redundante, não é? ;) Moot No entanto, como você editou fora as coisas que eu refered, meus comentários tornaram-se (ou pelo menos eles agora estão pendurados em meados de ar)
Hagen von Eitzen

1
Não funciona: /
Mardzis 04/10

@Mardzis De fato. MDN relata que o navegador restringir o acesso a navigator.pluginsou resultados de retorno falsos para privacidade proteção: developer.mozilla.org/en-US/docs/Web/API/NavigatorPlugins/...
Dai

46

Existe alguma maneira de identificar se meus visitantes estão usando um desses plug-ins ou não e qual a melhor forma de apoiá-lo?

De longe, a melhor maneira de oferecer suporte a gerenciadores de senhas é usar <form>tags normais e um formulário normal. Se você não fizer nada inteligente, o gerenciador de senhas fará seu trabalho.


8
Para adicionar isso: Teste com o gerenciador de senhas incorporado do navegador. Se isso funcionar, é altamente provável que as soluções de terceiros também funcionem.
Kevin

6
Concordo, mas tenho notado um número crescente de sites usando estruturas angulares e outras com formas extremamente complicadas que não funcionam com o LastPass. Ironicamente, esses sites tendem a ser aqueles que os usuários realmente querem usar as ferramentas de forma completação automática com por exemplo, reservas de passagens aéreas etc ..
cgarvey

1
Observe que algum gerenciador de senhas simula pressionamentos de teclas em vez de instalar um plug-in no navegador. Portanto, não é necessariamente o caso em que, se o gerenciador de senhas embutido funcionar, ele também funcionará. Nesses casos, você normalmente deve garantir que a navegação por guias funcione corretamente.
Lie Ryan

3

A maioria desses gerenciadores de senhas é baseada em plugins de navegador e funciona preenchendo os campos do formulário e acionando o envio de um formulário como se o usuário pressionasse o botão de envio. gerenciador de senhas.


2

Você pode usar o Javascript para detectar a velocidade de digitação nos campos de nome de usuário / senha. Uma taxa variável sugere que alguém a está digitando manualmente, enquanto uma taxa constante ou até mesmo nenhum pressionamento de tecla (copiar e colar) significa que alguém está usando um gerenciador de senhas.


Portanto, se eu tenho o LastPass, mas ele não consegue detectar o campo de login e digito manualmente, não tenho o LastPass?
Stephan Bijzitter

Alguns gerenciadores de senhas copiam pastas, outros simulam pressionamentos de tecla e também existem aqueles que entram no DOM e preenchem o formulário diretamente. Além disso, alguns usuários podem digitar sua senha no bloco de notas e depois copiar pastas, para que possam ver o que estão digitando no campo de senha. Não é tão simples detectar gerenciadores de senhas.
Lie Ryan

2

Para responder à pergunta real, uma maneira de detectar se os usuários estão usando o Lastpass é fornecer algum tipo de campo de login e usar jQuery ou similar para verificar se o Lastpass inseriu a "imagem de plano de fundo" inserida nos campos de login que pode preencher automaticamente.

Aqui está um exemplo de um campo de entrada de email, todas as coisas na tag de estilo foram adicionadas pelo 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">

Esta pode não ser a maneira mais eficaz de detectar se um usuário está usando o Lastpass, mas definitivamente funciona :)


2
Adora o pensamento por trás dessa solução, mas não assume que pelo menos um campo em um formulário possa ser preenchido pelo LastPass? O site que visitei que me levou a fazer esta pergunta estava usando um formulário Angular e o LastPass não conseguiu identificar um único campo nele. Um caso de borda para ter certeza, mas não o último que eu vou ver, eu acho.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.