Existe uma maneira de impedir que a extensão do navegador LastPass preencha um formulário baseado em HTML com um campo de entrada com o nome "nome de usuário"?
Este é um campo oculto, portanto, não quero que nenhum software use esse campo para seus propósitos:
<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
A solução não deve ser como "renomear o campo de entrada".
type="hidden"
vez de ocultá-lo com CSS$(':input').attr('data-lpignore', true);
Isso é tudo. Isso irá preencher o formulário lastpass em todos os formulários.Respostas:
Adicionando
para um campo de entrada, desabilitou a caixa cinza [...] LastPass para mim.
Originado de LastPass.com
fonte
Duas condições devem ser atendidas:
autocomplete="off"
atributoSettings > Advanced > Allow pages to disable autofill
Portanto, isso depende do usuário e do desenvolvedor.
fonte
O que funcionou para mim foi ter a palavra "-search-" no id do formulário, algo como
<form id="affiliate-search-form">
- e lastpass não adiciona seus elementos nas entradas do formulário. Funciona com algo mais simples,<form id="search">
mas não funciona com<form id="se1rch">
fonte
search
como classes ao nome de usuário e à senha desabilitou o botão asterisco no campo do nome de usuário, mas o campo da senha permanece como está.Sei que estou atrasado para a festa aqui, mas descobri isso quando estava tentando impedir que o lastpass estragasse meus formulários. @takeshin está correto, pois o preenchimento automático não é suficiente. Acabei fazendo o hack abaixo apenas para esconder o símbolo. Não é bonito, mas me livrei do ícone.
Se algum desenvolvedor lastpass estiver lendo isso, forneça um atributo para usar, para que não tenhamos que recorrer a coisas como essa.
fonte
background-image
nos campos de entrada (eu gosto de colocar "clear" botões" em campos de entrada) - nesse caso, o que também trabalharam para mim foi apenas a criaçãobackground-image
ebackground-position
com!important
a substituir o estilo builtin LastPass.Eu acho que o lastpass honra o
autocomplete="off"
atributo de entradas, mas não tenho 100% de certeza.EDITAR Como outros já apontaram. isso só funciona se o último passe do usuário estiver configurado para honrar isso.
fonte
autocomplete="off"
no nível do formulário. Isso me desperdiçou uma hora de tempo de desenvolvimento em um formulário "editar usuário" que parecia exibir o endereço de email errado. As preferências do lastpass têm uma opção "não substitua os campos que já estão preenchidos", o que ajuda muito.Para mim, trabalhou tanto o
type=search
que é igualtext
ou usandorole=note
.Você pode verificar o LastPass-JavaScript, mas é enorme, pode ser que você encontre alguma solução alternativa lá, pelo que vi, eles verificam apenas 4 tipos de entrada, portanto,
input type=search
seria uma solução alternativa:Além disso, essas são as
role
palavras - chave que parecem ignorar:Eu verifiquei LastPass '
onloadwff.js
, prepare-se para 26.960 linhas de código :)fonte
type=search
é a única coisa que funciona para mim.type=search
é a única maneira de impedir o preenchimento automático, independentemente do estado da configuração LastPass "Respeitar o preenchimento automático = desativado".role="note"
outype="search"
. Nenhum funcionou no Chrome mais recente e no lastpass mais recente.lpignore
está funcionando novamente, mexer-me istohttps://jsfiddle.net/78z0L1sa/3/
Adicione "pesquisa" para inserir o ID
fonte
Tarde demais para a festa, mas acabei de conseguir isso modificando o formulário com:
Eu acho que esse tolo passa a pensar que é um formulário de pesquisa. No entanto, isso não funciona para campos de senha! Lastpass ignora o campo de nome neste caso.
A única maneira de conseguir fazer isso é adicionar o seguinte diretamente na parte superior do formulário:
Isso causa um tremor desagradável, mas remove o disparate do preenchimento automático - embora ainda mostre o widget "gerar senha". O LastPass espera até domready e verifica se há algum campo de senha visível, para que não seja possível ocultar ou reduzir os campos simulados acima.
fonte
Para esta versão mais recente de outubro de 2019 do Lastpass, esta correção simples parece ser a melhor.
Adicionar
type="search"
à sua entrada.
A rotina lastpass verifica o
type
atributo para determinar o que fazer com o preenchimento automático e não faz nada neste html5type
de "pesquisa". Claro que isso é um pouco invasivo, mas é uma alteração de uma linha que pode ser facilmente removida quando eles corrigem seus scripts de buggy.Nota: Depois de fazer isso, sua entrada pode parecer ter um estilo diferente por alguns navegadores, se eles continuarem no
type
atributo. Se você observar isso, você pode impedir que isso aconteça, definindo as propriedades CSS específicas do navegador-webkit-appearance
e-moz-appearance
para'none'
a sua entrada.fonte
Esse código de estilo ES6 foi útil para mim, pois adicionou data-lpignore a todos os meus controles de entrada:
Para acessar um controle INPUT específico, pode-se escrever algo como isto:
Ou você pode fazer isso pelo nome da classe:
fonte
Nenhuma das opções aqui (preenchimento automático, data lpignore etc.) impediu o LastPass de preencher automaticamente meus campos de formulário, infelizmente. Adotei uma abordagem mais arraigada ao problema e defina de forma assíncrona os
name
atributos de entrada via JavaScript. A seguinte função dependente de jQuery (chamada do manipulador de eventos onsubmit do formulário) fez o truque:No formulário, eu simplesmente usei
tmp-name
atributos no lugar dosname
atributos equivalentes . Exemplo:Atualização 2019-03-20
Ainda encontrei dificuldades com o exposto acima, devido ao AngularJS, dependendo dos campos do formulário com
name
atributos para que o ngMessages apresentasse corretamente as mensagens de erro de validação de campo.Por fim, a única solução que encontrei para impedir que o LastPass preencha os campos de senha no meu formulário de Alteração de senha foi:
input[type=password]
totalmente, EComo preciso enviar o formulário normalmente no meu caso, ainda empreguei minha solução original para atualizar os nomes dos campos 'just in time'. Para evitar o uso de campos de entrada de senha, achei que esta solução funcionava muito bem.
fonte
Tentei mudar o nome da pesquisa, mas por algum motivo isso não funcionou. O que funcionou para mim é o seguinte:
Tentou e testou nas versões mais recentes do FF e Chrome.
fonte
Aqui está o que funcionou para mim para impedir que o lastpass preencha uma caixa de barbear @ Html.EditorFor no Chrome:
Clique no ícone LastPass ativo na barra de ferramentas e vá para Opções da conta> Preferências de extensão.
Nesta tela, marque "Não substitua os campos que já foram preenchidos" (na parte inferior)
Em seguida, clique em "avançado" à esquerda.
Nesta tela, marque "Respeitar AutoCompletar = desativado: permitir que sites desabilitem o preenchimento automático".
Não precisei fazer nada de especial no meu formulário cshtml ASP, mas tinha um valor padrão no formulário para a caixa @ Html.EditorFor.
Espero que isso ajude e funcione para alguém. Como não encontrei nenhuma ajuda específica do Razor sobre esse problema na Web, pensei em adicioná-lo, pois descobri com a ajuda do link e das contribuições acima.
fonte