A estratégia de saída mais rápida para um botão de pânico em sites de crise / abuso? [fechadas]

122

Estou criando um site para o Centro de Recursos sobre Abuso de Mulheres. Muitos centros como esse têm o que os centros chamam de "Botão de Pânico". Um exemplo de um básico é encontrado aqui na parte superior de todas as páginas da barra verde.

A idéia do link ou botão é para que, se uma mulher estivesse procurando neste site em busca de ajuda, e seu agressor ou alguém que eles não queriam conhecer entrassem na sala, isso permite uma fuga rápida. Às vezes, um link é muito mais rápido do que fechar uma janela do navegador e isso pode ser suspeito.

O problema que vejo é que a maioria dos botões que vejo fazendo isso envia para o google ou algo assim. Eu vou fazer algo assim:

<a href="http://www.msn.com/#news" rel="noreferrer">LEAVE WEBSITE NOW!</a>

ou

<a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL=&#39;http://www.msn.com/#news/&#39;"></html>'>LEAVE WEBSITE NOW!</a>

Um link como esse irá direcioná-lo para algum conteúdo real. Não é uma pesquisa em branco no Google, mas também não é uma coisa muito específica que possa ser vista como suspeita.

Eu sei que bloquear o referenciador é bom, mas mesmo com essa solução, você pode pressionar o botão Voltar no seu navegador e ser pego. Para este problema, pensei que poderia fazer algo assim:

HTML

<a href="javascript:goNewWin()" rel="noreferrer">LEAVE WEBSITE NOW!</A>

Javascript

function goNewWin() {
    window.open("backbuttonnewpage.html",'TheNewpop','toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1'); 
    self.close()
}

Estou postando porque há vidas em risco com isso e preciso de algo o mais próximo possível de uma solução total. Como você faria isso?

 

ATUALIZAÇÃO 3-26-14:
Corri algumas das idéias educacionais postadas aqui pelo centro de recursos com o qual estou trabalhando e aqui estava a resposta delas. "É preciso muita coragem para que nossos usuários acessem nosso site. Quando eles vêm, procuram um recurso fácil e rápido para sair de uma situação potencialmente fatal. Eles não teriam tempo ou capacidade mental na maioria dos casos para educar-se em uma maneira segura de navegar em nosso site. Quando apresentada a idéia de um "botão de pânico", quando realizada corretamente, parece ser um recurso sempre solicitado pela maioria das vítimas que tratamos ".

Depois de ler muitas das idéias aqui, parece que uma solução total seria um botão grande que flutua em uma posição constante no lado esquerdo. Quando a página é carregada, ele carrega outro site em segundo plano (talvez uma chamada ajax), para que clicar no botão apenas remova a moldura de sobreposição. Isso significa que não haverá tempo de carregamento quando clicado. Para evitar pressionar o botão voltar do navegador, é necessário dizer ao navegador para não armazenar em cache, além de possivelmente usar replaceStateem todas as alterações de página para desativar um botão voltar que revela este site.

Essa ainda é uma questão muito técnica. O debate ajuda muito, mas ainda preciso de uma solução técnica que funcione. Alguém acha que consegue reunir todas essas idéias em algo funcional? Vou trabalhar nisso imediatamente e publicarei tudo o que eu sugerir. Obrigado a todos.

David Coggins
fonte
39
Gostaria de começar por qualquer compensação ou obscurecendo a página atual (usando javascript) quando o link é clicado (porque pode levar algum tempo para um link a ser seguido ...)
Cameron
8
Curiosamente, na página vinculada, o link "clique aqui para sair rapidamente" parece inacessível no iPad, obscurecido pelos botões de mídia social ... sobre a pior decisão de ux que eu já vi na história recente: /
David diz que restabelece Monica
6
Concordo com David Thomas sobre a preferência w / default para o google - usar o MSN por si só seria suspeito em minha casa.
Stephen P
6
Qual é a sua pergunta real?
Petah
15
Colocar o botão no topo parece uma péssima colocação. Pense na lei dos fitts! Você tem uma faixa fina que alguém precisa acertar e, se ultrapassar, não acertará. Ridículo. Coloque-o à esquerda, onde a maioria dos usuários pode tirar proveito do tamanho efetivamente infinito. (Direito poderia ser barra de rolagem em alguns monitores, inferior é barra de tarefas padrão, superior é bar guia padrão Qualquer suficiente savvy ter mudado esses padrões provavelmente sabe. ^w)
Phoshi

Respostas:

37

EDIÇÃO FINAL (QUASE)

OK, li todos os comentários e acho que é a melhor solução, mas também pensei em uma ALTERNATIVA TOTAL LOCAL. Estou aberto a novas melhorias / discussões

var panic= function(){
    document.body.innerHTML = '';
       //this clears the current html in the body 
       //making it look like the page is loading
    
    if(...){ //check if replaceState is supported so no error is thrown
        var title="Decoy Article Title",
        url="/decoypage"; //another endpoint on your server that gives the decoy website
        window.history.replaceState("", title , url); //replace current history entry
    }

    //should be pretty fast up to this point
    window.location.replace("http://www.google.com"); //load the google page or my alternative.
}

Eu coloquei um exemplo na minha instância da AWS em 54.186.79.95 Vá para essa página, clique no botão, visite outra página e, em seguida, revide, agora você está no 54.186.79.95/decoywebsite e não há registros de você estar no 54.186.79.95 /, se o cache estiver desativado, seu servidor verá a solicitação "../decoywebsite" e enviará uma página de isca. Infelizmente, você não pode modificar o domínio inteiro, portanto, seria necessário que o domínio não suspeitasse.

Se você quiser se livrar do conteúdo da página, acredito que a melhor maneira é usar document.body.innerHTML='';. Você ainda está tecnicamente na página, mas todo o conteúdo se foi.

O próximo passo é modificar o histórico do seu navegador. window.history.replaceState( link para documentos ) é um recurso HTML5 que pode modificar seu histórico sem precisar recarregar a página ou solicitar ao servidor. É bem rápido, mas só funciona em navegadores modernos. Quando o usuário clicar no botão de pânico, substituiremos a página atual em seu histórico por um URL falso.

Se o usuário abusivo clicar novamente, seu servidor (Php, python, o que for) receberá uma solicitação com seu URL falso. Portanto, você precisa ter outro ponto de extremidade no servidor (deixe-me saber se você não entende os pontos de extremidade). Faça um artigo, receita ou previsão do tempo benignos com uma aparência semelhante ao seu site original, a fim de evitar suspeitas se o agressor tiver uma rápida olhada no site. Verifique também se o navegador não faz cache usando a <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">tag.

Observações adicionais

  • Idealmente, todo o seu site (exceto o seu artigo de chamariz, é claro) deve ser um SPA (aplicativo de página única), para que ele produza apenas um registro do histórico do navegador e você só precise modificá-lo.
  • No final do dia, acho que você não pode criar um botão de pânico 100% infalível, haverá maneiras de contornar isso. Você só precisa encontrar um com um nível aceitável de segurança e conveniência.

OUTRA ALTERNATIVA: MUDE LOCALMENTE A INFORMAÇÃO INCRIMINANTE E MODIFIQUE A HISTÓRIA DO NAVEGADOR

Eu também estava pensando se, em vez de carregar o google , se não é melhor transformar seu site localmente com informações inocentes . Isso parece menos suspeito do que carregar o google (todo mundo faz isso) e você pode fazer tudo localmente sem recarregar a página.

Quando eles clicam no botão de pânico, você faz alguma manipulação rápida do DOM (compatível com vários navegadores) para alterar as informações incriminadoras do seu site e fazer com que pareça inocente (talvez apenas altere o texto, ele deve ser rápido). Dessa forma, tudo é feito localmente, o que na grande maioria dos navegadores hoje é quase instantâneo. Você não precisa se preocupar com recarregar / servidores, porque os scripts já devem estar carregados e prontos para serem usados. Se você mantém a mesma aparência, parece que o usuário estava navegando para uma página diferente do site. Não fique muito óbvio pela aparência do seu site que é um site de crise. Obviamente, você torna impossível navegar de volta ao conteúdo original. Eu também deixaria claro no botão de pânico qual é a estratégia para que o usuário não surte.

Ainda tentaria alterar o histórico do navegador e comprar outro domínio que hospeda uma cópia da página de isca, como no exemplo anterior. Não apenas se o nome do domínio for suspeito, mas se o usuário abusivo acessar a atualização ou voltar ao histórico. Você deve transformar seu site inteiro em um SPA, pois só pode modificar sua entrada atual, não seu histórico anterior. Obviamente, isso ainda funcionaria apenas em navegadores HTML5, apenas certifique-se de que nenhum erro seja gerado e a outra parte dos scripts ainda seja executada em navegadores antigos.

O que as pessoas pensam? alguma fraqueza nisso? Qual seria um bom conteúdo para substituir?

NicolasMoise
fonte
10
Angular / Backbone não faz nada que você não possa fazer com JS nativo.
Frambot 26/03/14
Edição sugerida: você deve esclarecer que o #foo ref / fragment não é enviado ao servidor. Você pode provar isso verificando o que é enviado usando cURL: curl -v http://example.org/#/foo RFC 3986 "... o identificador do fragmento é separado do restante do URI antes de uma desreferência e, portanto, as informações de identificação no próprio fragmento são desreferenciadas apenas pelo agente do usuário. .. "
Joe Liversedge
1
@JoeLiversedge sim, você provavelmente está certo. No entanto, é possível se livrar do hashbang ( #) e, portanto, o servidor vê os fragmentos. Algumas estruturas JS fazem isso imediatamente. Eu não estou tão familiarizado com window.historyuma solução JS pura, mas qualquer um é bem-vindo para editar minha postagem. O aplicativo atual em que estou trabalhando (Angular + Express) funciona assim: o servidor não vê quando navego no aplicativo, mas se eu atualizar ou sair e responder, meu servidor verá uma solicitação completa.
NicolasMoise 26/03
Eu não acho que você deva usar uma estrutura nesse caso porque deseja que o script de saída seja o mais leve possível (não há necessidade de manipulação do DOM, basta empurrar o estado sem o hashbang e sair)
NicolasMoise
2
Gosto da ideia de que o histórico possa ser coberto automaticamente, mas você não pode ter certeza de que o usuário está usando um navegador compatível com HTML5. Provavelmente, se eles não forem conhecedores de tecnologia, não o serão.
esmagar
28

Como você disse que vidas estão em risco em sua implementação, sugiro educar os usuários a usar várias guias em vez de clicar em alguns botões de pânico.

Minhas razões são

  1. Em tempos de 'emergência', quanto tempo leva para o usuário mover as mãos para o mouse (supondo que eles levantaram as mãos para digitar ou tocar em seus cabelos ou o que eles quisessem fazer), vamos supor que eles levaram -> 0,5 segundos
  2. No site de exemplo , a barra verde é realmente muito pequena, para ser franco, nem todo mundo é muito preciso com a mão, coordenação dos olhos (além disso, a aceleração do cursor do mouse pode diferir entre sistemas operacionais e perfis de usuário), o usuário deve mover o clique no botão "Pânico" e clique, a menos que sejam jogadores profissionais de FPS , é provável que demore mais um -> 1-2 segundos
  3. Minha última hipótese de variável é que, se o seu script envolver o carregamento de recursos remotos, por exemplo, www.google.com, você poderá colocar vidas em risco assumindo que o navegador está
    • Moderno
    • Tem scripts ativados
    • A velocidade e latência da rede são ideais
    • Os caches são preparados.

Se você deseja carregar recursos remotos, sugiro que você insira uma div com z-index: -1 e algum conteúdo da Web fictício. Ao clicar, mova o índice z mais alto para sobrepor tudo na tela.

Portanto, se assumirmos que você carrega um recurso remoto e com todas as variáveis ​​desconhecidas, podemos supor que o tempo necessário seja -> 0,5 - 10 segundos

Se você estiver escrevendo um programa que pode matar alguém, sugiro fortemente que você não corra o risco de fazer algo que pode levar de 2 a 12 segundos para salvá-lo.

Eduque seus usuários colocando um banner com instruções

  1. Abra uma guia que não ameace a própria vida (por exemplo, google.com, msn.com, yahoo.com)
  2. Abra outra guia com seu site
  3. Navegue normalmente no seu site
  4. Em tempos de emergência, pressione Ctrl+WGoogle Chrome, IE , Firefox, Opera (confirme para outros navegadores principais)

Se você tiver uma idéia completa, pressione ctrl + w e sua solução planejada, certamente posso garantir que Ctrl+Wisso será mais rápido.

Lee Gary
fonte
3
como para a trilha da história, não há modo de In-Privada para o modo de IE e Incognito para chrome
Lee Gary
7
Penso que é uma boa ideia, pois é definitivamente mais rápida / segura, mas não substitui um botão de pânico. Você não pode esperar que todos os visitantes tenham lido e compreendido o seu tutorial, especialmente se ele estiver lá pela primeira vez. Acho que o OP deve ter um tutorial sobre técnicas de navegação segura e um botão de pânico.
NicolasMoise
42
O público-alvo claramente não é muito conhecedor de tecnologia e está em uma situação muito emocional / estressada. Educar sobre como usar um navegador da maneira mais furtiva (provavelmente em um idioma em que não falam muito bem) é atualmente a menor preocupação. E o que eles fazem se naquele exato momento em que estão sendo educados alguém entra? Embora certamente seja uma boa ideia geral que eles saibam, por exemplo, ctrl-w, você pode garantir que eles se lembram? Um "botão de pânico" altamente visível é uma ajuda boa e intuitiva que você pode dar a eles. Tudo o resto pode ser apenas adição.
PlasmaHH 26/03
16
Não sei por que isso foi votado. Essa resposta é ridícula, mas seria bom se todos soubessem técnicas apropriadas de navegação segura. Você não pode esperar que alguém que esteja angustiado e provavelmente visite seu site pela primeira vez saiba / leia / entenda isso.
11
Sinceramente, não entendo por que isso foi votado. Essa é uma resposta terrível e fora de tópico que introduz uma complexidade desnecessária adicional à pergunta original do OP. Uma sugestão melhor seria um banner maior e mais explícito, não uma guia extra. Pare de pensar sobre esse problema da perspectiva de um desenvolvedor ou superusuário experiente que domina os atalhos de teclado. Minha mãe não se importaria, ou mais explicitamente, não entenderia os atalhos do teclado, e é exatamente para quem é direcionado.
theGreenCabbage 26/03
23

Esta resposta assume que a barra de histórico e endereço não é um problema. Pelo menos não imediatamente.

Cenário

Julie é vítima de abuso conjugal. Ela está na internet procurando por ajuda e acessa seu site: http://www.crisisprevention.com (fictício para esta resposta)

Ao ler seu site, ela ouve a esposa se aproximando da sala rapidamente. Ela entra em pânico. Felizmente, você tem um bom botão grande, fixo à página enquanto ela rola.

Ela clica nesse botão e ...

Leva-a para Google.com

Não gosto dessa abordagem pelo seguinte motivo: ninguém vai acreditar que você está simplesmente sentado na frente do computador olhando para o prompt de pesquisa do Google. Acredite em mim. Eu tentei isso antes.

Eu costumava manter uma guia aberta com o prompt do Google e, se estivesse navegando fora do tópico no trabalho, mudaria para a guia Google para que ninguém fosse mais sábio. Funcionou ... mais ou menos. Até que as pessoas começaram a questionar por que eu estava olhando a tela de pesquisa do Google o dia todo.

Desde então, comecei a abrir uma guia com vários projetos de trabalho em diferentes estados. Normalmente, coisas em que estou trabalhando de qualquer maneira entre a navegação. Então, agora estou realmente trabalhando! Não é preciso ser um gênio da tecnologia para descobrir essa abordagem, e é por isso que a resposta da @ LeeGary pode ser a melhor.

Isso a leva ... ainda a está levando ... oh problemas de conexão com a Internet

Aqui está uma realidade para a qual você precisa estar preparado. Talvez a conexão com a Internet seja interrompida no momento em que ela entra em pânico. O conteúdo atual permanece exibido na página enquanto ela aguarda a solicitação HTTP GET para obter o conteúdo que pode começar a renderizar ... apenas, nenhum conteúdo está sendo recuperado. A conexão com a Internet está desconectada. Isso pode acontecer por vários motivos:

  • O cônjuge desconectou.
  • O servidor que está sendo contatado está sob carga extrema.
  • O navegador está com pouca memória.
  • O ISP está tendo problemas.
  • Conexão discada / desconexão (sim, elas ainda existem).
  • O computador está lento.
  • Servidor DNS está inoperante.

As razões continuam e por que o navegador pode engasgar quando ela aperta o botão de pânico, e tenta movê-la para um novo site.

Servir um site alternativo instantaneamente

Minha solução sugere que você pré-carregue um site em segundo plano. Carregue-o <div>e oculte-o atrás do site normal. Se for um conteúdo grande, considere ocultá-lo em z-indexvez de display: none. Dessa forma, ele será pré-renderizado ( acredito que pode estar errado aqui ).

Agora, não importa se a conexão com a Internet está inoperante. Ela já tem o conteúdo. Não há latência envolvida com uma solicitação HTTP GET. Simplesmente é exibido imediatamente.

Se a barra de endereço for uma preocupação, você ainda poderá atenuá-la exibindo um site alternativo que se correlaciona com o seu domínio.

Por exemplo, considere o domínio fictício (para esta resposta): http://www.crisisprevention.com

Você poderia publicar algum artigo alternativo relacionado a, por exemplo, resolver a crise da fome no mundo.

A idéia aqui é que é o primeiro olhar inicial que é o mais danoso. Quando o cônjuge entra e ele a vê navegando para o Google.com, com aquele olhar de pânico, ela suspeita que algo está acontecendo e está mais inclinado a investigar. Da mesma forma, poderia ser ainda pior se ela for flagrada tentando ocultar suas ações porque a solicitação HTTP GET foi lenta ou falhou.

A paixão súbita
fonte
3
Seria bom se o site alternativo tivesse a mesma aparência do site real: cores, layout. Portanto, se o agressor visse o local pelo canto do olho ao entrar na sala, ele pareceria piscar um pouco - não para mudar para outro site.
micapam
Eu gosto desse processo de pensamento. Gostaria de adicionar um pensamento de que precisaríamos usar o JavaScript para acionar a alternância; portanto, devemos ter uma opção de backup para a possibilidade (ainda que insignificante) de que haja um erro de JS ou se o JS estiver desativado para ter um conjunto de href real no link para que ele vá para algum lugar em vez de ancorar novamente na parte superior da página (e depois retorne false no evento click em JS).
GreatBlakes 28/03
1
Do ponto de vista do design (em resposta ao micapam), concordo inteiramente e acrescentaria que os designers que criam sites onde é necessário um botão de pânico devem evitar cores que se destacam (saturação e exclusividade) e usar tons secundários branco / cinza claro com uma sombra de cor primária neutra / comum.
GreatBlakes 28/03
16

Existem alguns grandes problemas com o botão de pânico:

  • é difícil clicar nele (você precisa ser preciso)
  • leva tempo para selecioná-lo (e uma quantidade enorme de tempo se você estiver no laptop sem mouse)
  • salva você na história
  • É acessível através do botão Voltar / Backspace.

E quanto aos movimentos aleatórios em pânico de uma mulher que está tentando clicar rapidamente nesse botão, quando estava lendo isso. E se ela perder o botão desde a primeira tentativa?

Portanto, se há vidas realmente humanas que poderiam ser salvas, isso é uma má ideia.

A melhor maneira é mostrar a eles o modo normal de fazer isso (através de algum tipo de ajuda antes que você possa entrar neste site). Pode ser algo como isto:

Dependendo do navegador de um usuário, você fornece a ele uma lista de etapas a serem executadas, que usam apenas teclado (sem mouse). Por exemplo, se ela estiver no chrome.

  1. abra um site que você gosta (FB, twitter, coelhinhos engraçados e finja que está fazendo algo).
  2. Pressione CRTL + SHIFT + N (abre a janela anônima) que não permitirá truques de retrocesso / histórico
  3. entre no nosso site lá (sem copypasting para evitar verificar o que está dentro do seu buffer)
  4. Leia o material e mantenha sempre as mãos no teclado próximas ao CRTL e W
  5. Em caso de emergência, pressione CRTL + W
  6. Continue estrelando seu FB, twitter, coelhinha engraçada

Certamente você precisa modificar sua explicação no idioma apropriado. Mas assim é realmente difícil ser pego. Também conte sobre sentar ao lado de espelhos e outras superfícies de reflexão, como janelas, óculos e outras coisas. Peça que eles tentem usar essas combinações por algum tempo para se familiarizarem.

Se houver vidas humanas envolvidas, você deve ser profissional e não usar esses botões de pânico. Especialmente se for tão fácil ensinar às pessoas como fazê-lo de maneira mais rápida e segura.

Resposta a Nobius

Eu entendi você, obrigado. Mas eu discordo do seu argumento. Depois de muita campanha para colocar no FB, você já viu no FB? Eu não tenho. Pessoas não técnicas são notórias por terem idéias ridiculamente ruins, algumas das quais você pode ter experimentado (impedindo o clique direito nas páginas dos bancos para melhorar a segurança, senhas de 4 dígitos para facilitar a digitação em telefones celulares). Pressionar um botão parece mais fácil, mas veja minha lista de etapas - a única coisa que você precisa fazer em uma situação estressante é pressionar CTRL + W. Você não precisa pensar em termos de guias, modos e outras coisas. Isso chega ao padrão básico - veja alguém, pressione CTRL + W. Na minha opinião, isso não é nada difícil e fácil de lembrar. É de longe não mais difícil do que lembrar de clicar no botão. Tudo o resto você precisa ler em uma atmosfera normal.

Pressionar 2 botões é MUITO mais rápido do que mover o mouse, e é realmente difícil senti-los quando seus dedos estão sobre eles (faça um experimento e coloque-se em situação de estresse e tente clicar rapidamente nesse botão). Também como mencionei - vejo pelo menos quatro razões pelas quais algo pode dar errado na panic buttonsituação, enquanto vejo muito menos em razões no CRTL + W. Se as vidas humanas envolvem - você precisa ser profissional.

Resposta a NicolasMoise . Por que as pessoas continuam dizendo que você precisa ser conhecedor de tecnologia para pressionar CTRL + W? Não estou tentando mostrar às pessoas como usar o TOR, VPN, configurando o canal de criptografia. Isso é apenas CTRL + W. As pessoas aprenderam a brincar de pássaros bravos para diminuir o tempo (o que é muito mais difícil do que lembrar de 2 botões), para que as pessoas possam aprender CRTL + W para salvar suas vidas. O tutorial pode ser mostrado de tal maneira que o observador não entenda por que você está lendo isso (quando você vê minha lista de etapas, não acredito que o primeiro palpite seria - ah, esse é o site de abuso de mulheres).

Mas, provavelmente, dar às pessoas a percepção de segurança falsa é muito melhor. A resposta não está fora de tópico. A pessoa está perguntando como implementar o botão de pânico - e eu estou explicando por que o caminho atual é falho e o que ele pode fazer para fazê-lo melhor. É no mesmo nível de 'Eu quero tornar a comunicação segura e estou usando o código de substituição', sim, você pode melhorar a velocidade do código dele e fingir que está tudo bem, ou você pode mostrar outra maneira.

Uma última tentativa de explicar meu ponto adicional : você precisa explicar adequadamente às pessoas os riscos por trás de sua abordagem. Um bom exemplo de quando as pessoas sofreram por não explicar os problemas adequadamente foi o problema com os blogueiros bielorrussos, que pensavam que postar anonimamente na internet os tornaria não rastreáveis ​​a repressões governamentais. O recurso lhes deu uma crença falsa de que eles são salvos se não fornecerem sua identidade real. Eles aprenderam que isso não é verdade da maneira mais difícil (quando foram presos por alguns anos).

Se alguém lhes explicasse o risco, acho que alguns deles ficariam felizes em aprender como usar qualquer ferramenta para salvar seus próximos cinco anos.

Então, por que não dar algumas opções às mulheres:

  • você pode usar a abordagem A imediatamente e aqui está a lista de problemas que você pode encontrar.
  • você pode usar a abordagem B, que requer X minutos durante a primeira vez para ler e entender alguma coisa. E então sua lista de possíveis problemas diminui para uma lista menor.

E deixe-os decidir o que querem fazer. Dessa forma, eles conhecem os riscos.

Salvador Dalí
fonte
14
Não votei mal, mas discordo da sua afirmação de que é ridícula. Um botão de pânico era algo que muitas instituições de caridade e parlamentares britânicos fizeram campanha para serem colocados no Facebook para adolescentes que estavam sendo intimidados on-line e não sabiam de quem obter ajuda. Pressionar um botão é muito mais fácil de fazer em uma situação estressante do que ter que comprometer a memória com uma longa sequência de etapas com antecedência e esperar que nada dê errado quando a situação surgir.
Nobilis
2
@ Mark bem, a OP disse que era básica :) Mas estou tentando ressaltar que o conceito é conhecido, familiar e, na minha opinião, mais adequado para pessoas não técnicas. Você sabe o que é um botão e o pressiona. Pensar em termos de guias, modos privados e atalhos de teclado é indiscutivelmente mais complicado e menos familiar para as pessoas que apenas ocasionalmente navegam na web.
Nobilis 26/03
2
@ Salvador Esta resposta está fora de tópico. É como: "Ah, você está em um relacionamento abusivo e alguém está monitorando todos os seus movimentos, por que não dedicar algum tempo para ler e entender este longo tutorial sobre técnicas de navegação adequadas, para que você esteja seguro na próxima vez que visitar o site (que está assumindo que você não foi pego lendo o tutorial) ". Qualquer sistema que suponha que todos os seus usuários tenham conhecimento técnico falhará inevitavelmente. Novamente, não estamos dizendo que seu método é ruim ou lento (na verdade, é mais rápido e seguro), mas você não pode esperar que todos os visitantes saibam disso, e é por isso que você precisa de um botão de pânico.
NicolasMoise 26/03
4
Sem ofensa, mas acho que você não entende o que eu e Nobilis estamos tentando fazer. Você está dizendo que Ctrl + W é mais rápido / seguro, eu concordo. Onde discordamos é que você não pode esperar que todos os visitantes saibam ou se lembrem do Ctrl + W apenas porque o mencionou em algum lugar do seu site. Além disso, o OP pediu especificamente um botão de pânico.
NicolasMoise
1
@NicolasMoise Eu acho que a maneira correta de fazer isso seria um estudo teórico para descobrir como as pessoas se comportam na situação e comparar duas abordagens. Com botão e com CTRL + W. Veja quão rápido as pessoas podem aprender pressionando CTRL + W (pode ser que isso seja realmente difícil, e eu não consigo entender). E então para ver a porcentagem de falhas. Se você acha que isso é uma necessidade - por que não dizer às pessoas o risco por trás dessa necessidade? Eles podem assumir que o botão de pânico está completamente livre de falhas e ficariam realmente surpresos se alguém pudesse mostrar que, com o backspace, você pode ver o que estava fazendo.
Salvador Dali
10

Acho que você ainda tem uma longa jornada pela frente.

O motivo para enviar pessoas para a página do Google é que

  1. carrega muito rápido
  2. é provável que seja armazenado em cache de qualquer maneira
  3. torna muito rápido
  4. está muito bem otimizado
  5. eu mencionei que é rápido?

O link que você forneceu é lento.

Se você deseja fornecer uma maneira rápida de alterar a tela, abra o site em um conjunto de quadros - com a capa em um quadro de altura 0 e o site em um quadro de altura total. Em seguida, quando o usuário clicar no link, troque pelas alturas do quadro e redirecione para a janela de nível superior para a página já carregada.

symcbean
fonte
Eu não acho que o Google tolera ser carregado em um quadro, mas eu gosto da ideia da capa de troca de quadro.
David diz que restabelece Monica
Não é uma má idéia, mas um problema que vejo é que o URL permanecerá o mesmo.
NicolasMoise
Ainda demora 2-3 segundos (talvez mais na Internet lenta), mesmo com um cache quente.
Petah
@ David: o OP não queria usar o Google.
symcbean 26/03
@NicolasMoise: não a url nas mudanças barra de endereços, assim que você emitir o redirecionamento
symcbean
5

Estou ampliando um pouco o escopo da pergunta, pois clicar no botão de pânico garante que o usuário não será pego.

Existem várias preocupações neste problema que precisam ser emitidas, dependendo do risco e de como o usuário é alfabetizado em computação.

Como tal, pode ser uma boa ideia fornecer ao usuário algum conhecimento básico de segurança da maneira mais amigável possível. Embora o usuário esteja sob grande estresse, é melhor que eles saibam quais traços podem deixar para trás.

Traços

Histórico de Navegação

A qualquer momento, o usuário usa seu site sem navegação privada, deixando rastros muito óbvios. Não há uma maneira adequada de detectar se o navegador está sendo executado no modo privado, mas você pode receber um aviso na entrada de que eles devem estar alternando para o modo privado, além de excluir o histórico atual da entrada. Você pode preparar algumas capturas de tela para que o usuário siga para excluir o histórico (ou, se disponível, excluir apenas a entrada do site)

Biscoitos

Se você usar cookies, a próxima pessoa poderá obtê-los (mesmo que tenham expirado) e entender que este site foi usado. Se puder, use cabeçalhos personalizados para autorização, o que não deixará vestígios no computador.
Isso pode forçar você a alterar a estrutura do aplicativo, o que pode não ser uma boa ideia. Somente configurando cookies no navegador depois de verificar se o usuário está usando uma sessão de navegação privada.

Armazenamento em cache

Uma pessoa experiente em tecnologia pode detectar se o site foi visitado se você usar o cache abrindo a página e inspecionando a rede. Certifique-se de instruir explicitamente o navegador para não armazenar em cache usando os cabeçalhos em suas respostas:

'Cache-Control: no-cache, no-store, must-revalidate'
'Pragma: no-cache'
'Expires: 0'

Botão "voltar

Ao alterar as páginas, todas as páginas serão colocadas no histórico atual (mesmo na sessão de navegação privada), permitindo que o botão Voltar seja usado. Se puder, use-o replaceStateem todas as alterações de página para que o botão Voltar seja quebrado.

Criptografia

Use HTTPS para evitar escutas. Observe que as consultas DNS ainda não serão criptografadas, mas não acho que isso seja um problema, a menos que o usuário esteja vazando informações governamentais. Se for esse o caso, um site não seria seguro o suficiente.

Em geral, eles devem ser suficientes para remover os rastreamentos, mas também certifique-se de não usar outras camadas de persistência localStorage.

Botão de pânico

Esse é um problema totalmente diferente e precisamos incluir várias coisas em nosso cálculo.
Primeiro, se este é um cenário com risco de vida, precisamos entender que o usuário estará sob estresse total quando precisar iniciar o panic exit. Não sabemos como a tela do computador está posicionada e não podemos adivinhar o que o usuário está fazendo no momento do pânico.

Problemas de posicionamento da tela

O pior caso seria que a tela fosse posicionada de maneira que a ameaça pudesse ver (à distância) a tela e o site. Se for esse o caso, o site deve ser projetado de forma a parecer muito semelhante ao de exit siteforma a remover qualquer suspeita. Afastando-se de um design diferente para o branco, o Google será notável, mesmo que a tela não seja diretamente visível apenas comparando as cores que a tela estava emitindo entre dois sites (em uma sala razoavelmente escura).

Velocidade de saída

Se você apenas fizer um redirecionamento, talvez não seja rápido o suficiente para fazer a alteração no tempo. Você deve pré-carregar o lado da saída em um iframe e, no momento do pânico, coloque-o em tela cheia e faça o redirecionamento. Isso ajudará no armazenamento em cache do conteúdo estático dos sites de saída e fará com que as coisas pareçam mais rápidas. Certifique-se de usar replaceStatea navegação natural para desativar o botão Voltar.

Rotas de saída

Você deve garantir que as rotas de saída estejam disponíveis imediata e facilmente para o usuário acessar. Acho que os dois estados mais possíveis são o usuário que está digitando ou o usuário está navegando . O que significa que você deve ter um atalho de teclado para saída e um botão grande no seu HTML.

Saída do teclado

Eu acho que o uso de pressionar a tecla ESC duas vezes deve acioná-lo ou segurar uma das teclas grandes (como espaço ou enter). De qualquer forma, você deve informar o usuário sobre isso e, possivelmente, deixá-lo treinar tentando. Tentar sair do pânico irá ajudá-los a antecipar o comportamento em pânico para fazer um bom raciocínio (ter o comportamento esperado pode aliviar), e eles serão treinados para fazê-lo, de modo a ter maior probabilidade de fazê-lo adequadamente no pânico Tempo.

Saída do mouse

Isso será bem direto, com um botão grande e de cores diferentes que desencadeará o pânico.

Onde sair?

Isso depende do caso, por design, pode ser sensato redirecionar para um site comumente usado com design semelhante por padrão. Também pode ser sensato permitir que o usuário escolha o site de saída por conta própria (depois de fazer um padrão são).

Notas

  • Se o usuário estiver usando a navegação privada e entrar em pânico, o navegador ainda estará no estado de navegação privada, o que pode gerar suspeitas. Não há maneira fácil de contornar isso. Você pode tentar instruir o usuário a limpar o histórico posteriormente, mas ele pode não ter tempo suficiente para isso.
  • A maior parte da resposta se concentra nos navegadores de desktop; a experiência em um dispositivo móvel será diferente, mas não muito.
Umur Kontacı
fonte
3
O OP perguntou "como implementar um botão de pânico" e, no entanto, as pessoas parecem estar respondendo com um tutorial sobre "como navegar com segurança na web". Isso é SO para você, eu acho, não nos diga o que você precisa, nós lhe diremos.
4

Fuga Confiável

EDIT: Outra coisa que vem à mente é que, se o usuário perdeu a conectividade com a Internet, o que acontece por todos os tipos de razões, incluindo alguém desconectando o cabo, não há como navegar para outro site. Eles poderiam ficar presos lá como um cervo nos faróis na página "incriminadora". Acho que isso dá credibilidade à idéia de realmente navegar para um site parceiro / afiliado benigno que, por sua vez, carrega seu site em um iframe diretamente na página deles. Tudo o que você precisa fazer para que seu site desapareça é excluir seu iframe do DOM usando JavaScript já carregado no iframe. Funcionaria mesmo se a conexão à Internet estivesse inoperante.

Eu habilitaria a tecla Escape para uma saída rápida. Essa é uma tecla física e bem conhecida no teclado que o usuário pode procurar se precisar, em vez de mover o ponteiro do mouse para um botão virtual e clicar.

EDIT: Eu só percebi que um cartaz anteriormente fez "ESC" mencionar a tecla Escape, referindo-se a ele como Eu procurei na página por "Chave de escape" antes de escrever minha resposta, mas perdi.

EDIT: Também deixaria o botão de pânico na página, com o texto "Clique aqui ou pressione ESCAPE para sair rapidamente". Mas eu colocaria um na parte superior e outro na parte inferior da página. Talvez eu tenha colocado uma tira por toda a página. Se o visitante clicar em qualquer lugar nessa zona de borda, seu conteúdo desaparecerá.

Considere também; para tornar razoavelmente fácil clicar no botão de pânico em uma situação de pânico, você provavelmente precisará torná-lo um pouco grande demais e garantir que ele esteja sempre na tela movendo-o enquanto a página rola ou colocando vários botões de pânico no página, que pode parecer meio suspeita por si só. Parece que essas páginas provavelmente devem ser bem discretas.

Se você estiver usando jQuery, poderá fazer algo como o seguinte para responder à tecla Escape:

jQuery( function ( $ ) {
    $( document ).keyup( function ( e ) {
        if ( e.which === 27 ) // escape
         {
         // clean up... 
         }
    } );
} ); 

Aplicativo AJAX de página única

Parece que todas as soluções sugeridas visam descobrir uma maneira de navegar rapidamente para outro site, seja pré-carregado e rapidamente exibindo-o na parte superior do site ou limpando o DOM e navegando para longe ou tanto faz.

Se eu adotasse essa abordagem, eu teria uma lista completa de sites universalmente benignos e pesquisas em mecanismos de pesquisa que eu percorreria para que não seja a mesma "pesquisa de sapatos femininos pretos" aparecendo todas as vezes.

Mas que tal virar todo o conceito de cabeça para baixo? Use um ou mais sites de chamariz benignos ou solicite sites comerciais não relacionados para hospedar um link de aparência benigna e carregue o site como um aplicativo AJAX de página única em um iframe na parte superior da (s) página (s) do host

EDIT: Você pode fazer isso fazendo com que sua página inicial declare brevemente que ele redirecionará o visitante para um site de parceiro cooperativo para sua própria segurança e mostrará um grande botão amigável "Ir". Se você possui vários sites parceiros, pode pressioná-los, tanto melhor. Quando clicarem, apague o histórico do navegador da sua página, redirecione para o site afiliado com um parâmetro de consulta de URL que informa ao JavaScript de autoinicialização do afiliado para carregar imediatamente seu iframe. A partir desse momento, não há carga adicional no servidor web do afiliado. Dessa forma, você tem uma página inicial oficial, mas imediatamente tira o visitante completamente de sua página.

Pressionar a tecla Escape ou clicar no botão de pânico excluiria seu iframe do DOM, deixando a página do host benigna e sem histórico do navegador. (Poof)

Você pode atenuar os problemas do histórico do navegador dessa maneira, já que o seu link executaria um pouco de código JavaScript de autoinicialização e você nunca realmente navegaria no navegador para o site.

Quando o link de inicialização na página do host é clicado, ele insere um iframe no DOM, o flutua (posicionamento absoluto e ordem z) para posicioná-lo na parte superior da página do host e, em seguida, faz uma chamada AJAX para o serviço da Web para recuperar o conteúdo HTML que ele carregaria no quadro. Todos os links e / ou botões adicionais no quadro também fazem chamadas AJAX para o seu serviço, seja postando dados no servidor ou recuperando dados para exibição. Você nunca carregaria uma "página" real no navegador do usuário.

Outro aspecto interessante dessa abordagem é que, se o navegador travar ou ficar instável e precisar ser desligado do Gerenciador de tarefas, o que impediria a execução do código de limpeza, isso não importará, porque você não tem (necessariamente) nada limpar.

Houston ...?

Alguns problemas sérios que vejo com qualquer uma dessas soluções estão em minha cabeça, especialmente devido ao contexto que vive pode estar em risco:

  • objetos armazenados em cache (imagens, principalmente) no cache do navegador

  • o roteador / firewall pode estar registrando solicitações HTTP / HTTPS e a vítima pode não saber disso, e nada que você faça para limpar o navegador reduzirá

  • pode haver spyware de keylogging / screencap instalado na máquina do usuário e nada que você possa fazer a partir de um aplicativo de navegador reduzirá

  • Quando os computadores travam, os navegadores da Web ficam com flakey e os travamentos são deixados para trás porque o código de limpeza não pode ser executado.

Conforme sugerido por pelo menos um outro pôster (honestamente, eu apenas passei por alguns segundos as outras postagens), o uso de navegadores no modo seguro deve atenuar muitos desses cenários. Mas isso é um problema de treinamento do usuário e o treinamento do usuário pode ser um pouco louco, nas melhores condições. Pode ser realmente difícil de acertar se as vítimas não forem muito conhecedoras de tecnologia, especialmente se estiverem realmente em uma situação de pânico em que o pensamento calmo possa ser difícil.

Craig
fonte
2

Você pode dar uma olhada nos botões de pânico "Boss" em alguns jogos e sites antigos. A idéia é que você possa mudar rapidamente para algo inocente se o seu chefe aparecer (é claro, você deve vê-los se aproximando primeiro!).

Quase toda ação apressada / frenética quando o agressor entra suscita suspeitas. Considere projetar as telas para que pareçam notícias gerais ou similares (à distância), sem grandes títulos ou imagens que revelem seu objetivo. Isso geralmente permite tempo para uma saída "sem pressa" do site, sem pânico. Se o link do botão de pânico leva o usuário a, digamos, um site de notícias de boa-fé, tanto melhor (se for rápido o suficiente).

Como outros já mencionaram, se o agressor fica desconfiado (e muitos malucos de controle são), ainda há uma trilha no histórico do navegador que eles podem descobrir rapidamente onde o usuário esteve. Francamente, não há muito que você possa fazer, especialmente se o usuário entrar em um modo de pânico frenético tentando encobrir seus rastros, e o agressor perceber isso. Mesmo que a própria tela possa ser atualizada para algo inocente após algum tempo limite, o histórico do navegador terá o URL.

Considere aconselhar os usuários a posicionar o computador para que o agressor não possa se esgueirar por trás ou ir a uma biblioteca ou outro local não particular para usar este site. Se o conteúdo da tela parecer sem graça à distância (veja acima), não deve atrair o interesse de outras pessoas.

Boa sorte com isso!

Phil Perry
fonte
a minha resposta meio que lida com o problema histórico do navegador (não é perfeito embora e provavelmente pode ser melhorado)
NicolasMoise
2

Você pode mostrar uma página de erro em vez de um site real, que já está carregado em segundo plano. Talvez uma página falsa do youtube ou do google 404? Eu acho que isso reduziria o tamanho do conteúdo extra ao mínimo.

Como outros sugeriram, eu também usaria a tecla Escape. Reduz a mudança de falta dele, seria muito mais fácil para alguém com um mousepad e o usuário pode manter o dedo nele quando estiver navegando no site.

Você também pode usar outras opções; um botão na própria página ou informe-os sobre outros métodos de escape (ctrl + w, como mencionado anteriormente). Talvez também seja um gesto para os usuários de tablets? Provavelmente existem algumas bibliotecas para isso.

E, claro, você pode alterar o URL na barra de tarefas. (Veja outras postagens para obter código sobre como fazer isso).

Incentive-os a experimentar as opções de fuga. Então eles sabem o que fazem e como podem reagir a isso.

Arno
fonte
0

Eu acho que podemos fazer isso de forma diferente. Minha idéia é a seguinte:

  1. Mostre o site apenas com conteúdo falso (estilo e layout semelhantes ao real).
  2. O usuário precisa fazer certa interação com o conteúdo para acionar a etapa 3 (por exemplo, coloque XYZ em uma caixa de texto ou clicou em uma combinação de Checkbox ou RadioButton, etc.).
  3. Com o passo 2 satisfeito, quando o usuário ressaca determinado ponto minúsculo da página (lado direito), a página exibe seu conteúdo real. E o conteúdo permanecerá se o mouse estiver sobre ele.
  4. Em caso de emergência / pânico, o usuário pode simplesmente afastar o mouse do conteúdo real, e o conteúdo será alterado novamente para o falso.
Bolu
fonte
... enquanto seguravam um saco de frutas na cabeça e cantavam "âncoras", caso contrário, o conteúdo real não será exibido ...
27/03/14
@ Craig, você teve a idéia ...
Bolu