Como posso desativar seletivamente bloqueadores de pasta

37

À medida que mais sites adicionam código de bloqueio de pasta de um tipo ou de outro aos campos de email e senha e mais pessoas usam gerenciadores de senhas, os dois estão cada vez mais entrando em conflito.

Enquanto há extensões como não brinque com pasta para o Chrome ou manipulações prancheta Desativar ea dom.event.clipboardevents.enabledpreferência para FireFox, todos estes sofrem o problema de que não são razões legítimas para que sites pode querer ligar para onpaste(como o Google docs rich text suporte ou manipulação de links do Facebook), por isso não quero que essa funcionalidade seja completamente desabilitada.

† Vá about:confige pesquise dom.event.clipboardevents.enablede clique duas vezes para alternar.

Outra opção é hackear todas as páginas encontradas manualmente com o código incorreto, mas isso é muito trabalhoso e não funciona em todos os casos (como nesta página ). Uma sugestão de como fazer isso pode ser encontrada nas senhas de colar de Martin Brinkmann em campos de formulário bloqueados na página da Internet .

O ideal é apenas poder dizer "Reativar a colagem em todos os campos desta página" como um botão ou uma opção de menu de contexto para a página. Existe alguma maneira de fazer isso?

A coisa mais próxima que encontrei foi a reativação da colagem de senhas do Derek Prior em formulários da Web irritantes, mas ela usa o mesmo método do método manual, portanto, falha ao trabalhar com a página específica em que eu estava tendo problemas e não tenho idéia de quantas outros métodos podem estar disponíveis.

Mark Booth
fonte
Esses sites também bloqueiam o salvamento de senha interno do navegador (por exemplo, firefox)? Talvez faça o que faz?
Xen2050
1
Don't fuck with pastepermite que você escolha sites específicos para desativar as manipulações
Ruslan
Obrigado @Ruslan, verifiquei que esta extensão resolve agora o meu problema e adicionei uma resposta para refletir isso.
Mark Booth

Respostas:

11

Os formulários da Web que possuem esse recurso de bloqueador de pasta podem implementá-lo declarativamente usando o atributo onpaste para uma caixa de texto ou vinculando um evento por JavaScript ou jQuery .

Ao contrário do que você afirmou, consegui que o bookmarklet de Derek Prior funcionasse no Chrome (versão 39 no Windows) com páginas com os atributos (type = "password" onPaste = "return false") na caixa de texto da senha

Você também pode experimentar o bookmarklet de Chris Bailey, que quebra os bloqueadores de pasta implementados por JavaScript.

Isso é um pouco complicado, mas outra alternativa é desativar o JavaScript temporariamente para a página que, por sua vez, desativará o bloqueador de pasta JavaScript. Para o Chrome, o atalho de teclado para abrir as Ferramentas de Desenvolvimento é F12, para acessar o painel Configurações é F1 e aqui você encontra a caixa de seleção Desativar JavaScript na seção Geral.

insira a descrição da imagem aqui

mvark
fonte
Obrigado mvmark . Investigando mais, parece que a página específica em que eu estava tendo problemas usa algum outro método. Atualizei minha pergunta e acho que uma pergunta sobre estouro de pilha pode ser necessária para criar uma lista definitiva de métodos possíveis, para que um bookmarklet possa ser escrito e abranja todos eles.
Mark Booth
@MarkBooth No Chrome, você pode desativar temporariamente o JavaScript da página que, por sua vez, desativará o bloqueador de pasta JavaScript com o atalho F12 - F1. Pls veja minha resposta atualizada acima.
mvark
1
Obrigado mvark , é uma ótima solução para o Chrome. Para o Firefox, instalei Desativar manipulações da área de transferência e fixei o Gerenciador de Complementos para facilitar a ativação ou desativação.
Mark Booth
1
@annan link morto atualizado com o link do artigo arquivado web.archive.org/web/20170908125754/http://prioritized.net/blog/…
mvark
7

Para páginas que usam jquery (basicamente todas as páginas da web). Você pode colar o seguinte URL javascript na barra de endereço

javascript:void($('input').attr('onpaste', ''));
Att Righ
fonte
2

1 .--- Isso pode resolver o problema de pelo menos alguns sites: RECLAMAR e informar esses sites que eles estão DESTRUINDO, sem aumentar a segurança de seus usuários. Talvez eles simplesmente não tenham pensado nisso ...

Aqui está o texto que acabei de copiar do blog de Chris Bailey que contém seu bookmarklet. (Dica: mantenha isso nos seus favoritos) .
-> Sugiro que você envie PARTE a seguir para qualquer site que precise ser reeducado:

Reativando a colagem de senhas em formulários da web irritantes (v2)

A segurança não deve ser tomada de ânimo leve. Nos últimos dias, fico cada vez mais frustrado com a insistência de algumas empresas em desativar o recurso de colar senhas nos formulários de login. Em vez de aumentar a segurança, isso prejudica aqueles que usam gerenciadores de senhas como KeePass, [LastPass] ou 1Password, pois as boas senhas geradas aleatoriamente longas não podem ser simplesmente coladas no campo de senha. Em vez disso, os usuários são forçados a digitar manualmente senhas, o que promoverá o uso de senhas mais curtas (e, assim, enfraquecerá a segurança).

Eu descobri isso em empresas como Apple, Vodafone e Nestlé.

Felizmente, encontrei uma solução na forma de um bookmarklet. A idéia original veio do blog que reativou a colagem de senhas em formulários da web irritantes por Derek Prior. Infelizmente, seu método simplesmente remove o atributo onpaste diretamente, mas isso não funciona se o site estiver usando uma estrutura de manipulação de eventos como o jQuery. Peguei o código original de Derek e o modifiquei para funcionar melhor com essas estruturas.

2 .--> Experimente o bookmarklet de Chris disponível aqui , mas apenas no Chrome, Opera ou Vivaldi quando a página NÃO estiver usando o JQuery:

3 .--> Peça a alguém para escrever um plug-in abrangente para todos os navegadores. Para começar, aqui estão seus comentários e referência de fonte da página de Chris:

Para usar o bookmarklet, arraste o seguinte link para a barra de favoritos do seu navegador.

Nota de compatibilidade: o bookmarklet funciona apenas no Chrome e Safari devido à dificuldade de ler os dados da área de transferência no Firefox. Poderia ser estendido facilmente para incluir o IE, embora eu não tenha acesso a um sistema Windows para testar isso. Existem outras soluções para esse problema na forma de extensões do Chrome (por exemplo, cole a senha do ITC e permita colar no texto dos campos, embora eu ainda não as tenha sido testada) e eu suponho que complementos semelhantes estejam disponíveis para os outros navegadores. Pessoalmente, gosto da simplicidade do bookmarklet. O código está hospedado no pastebin, se você quiser brincar com ele:
(ED: E a fonte dele também está listada abaixo deste trecho, na página vinculada dele).

DaaBoss
fonte
2

Observe que alguns navegadores removem silenciosamente a javascript:parte do código. Portanto, verifique se o código na barra de endereços é exatamente igual ao código abaixo (digite manualmente javascript:), caso contrário não funcionará

Para o site específico que você mencionou na sua pergunta, use o seguinte código

javascript:void($('#pwd, #pwd2').unbind('paste'));

Para quase todos os outros sites, cole o seguinte código JavaScript na barra de endereço

javascript:void(document.querySelectorAll("input").forEach(function(element){element.setAttribute("onpaste","")}));
Tomas Echeverri Valencia
fonte
1
Você tentou sua sugestão na página com a qual tive um problema ? Acabei de fazer e ainda aparece a caixa de diálogo "Digite sua senha" quando você tenta colar no campo de senha.
Mark Booth
Para esse site especificamente, use o seguinte códigojavascript:void($('#pwd, #pwd2').unbind('paste'));
Tomas Echeverri Valencia
Atualizei a resposta com o snippet (comentário anterior acima) que funciona para esse site específico. Mas não vai provavelmente trabalhar em qualquer outro lugar
Tomas Echeverri Valencia
O Chrome remove a javascript:parte do código que você cola na barra de endereço. Você precisa ter certeza de que o snippet que você executa é exatamente o que eu compartilho acima, caso contrário não funcionará.
Tomas Echeverri Valencia
1
Atualizei a resposta para que as pessoas saibam a necessidade de adicionar manualmente javascript:ao colar na barra de endereços
Tomas Echeverri Valencia
0

Parece que desde que eu fiz essa pergunta, o original Don't fuck with paste extension de Jacob Swanner melhorou muito, e Aaron Raimist a portou para o Firefox .

Agora, ambos permitem que essa funcionalidade seja ativada por site e, embora não corrija automaticamente o problema no site problemático de petplanet que eu mencionei, habilitando manualmente agora ele corrige o problema nesse site.

Mark Booth
fonte