La strategia di uscita più veloce per un pulsante antipanico nei siti web di crisi / abusi? [chiuso]


122

Sto realizzando un sito web per un Centro risorse per l'abuso delle donne. Molti centri come questo hanno quello che viene definito dai centri un "pulsante antipanico". Un esempio di base si trova qui nella parte superiore di ogni pagina nella barra verde.

L'idea del collegamento o del pulsante è che se una donna stava guardando questo sito Web per chiedere aiuto e il suo aggressore o qualcuno che non volevano sapere è entrato nella stanza, consente una fuga veloce. A volte un collegamento è molto più veloce della chiusura di una finestra del browser e questo può essere sospetto.

Il problema che vedo è che la maggior parte dei pulsanti che vedo in questo modo ti invia a Google o qualcosa del genere. Farò qualcosa del genere:

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

o

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

Un collegamento del genere ti farà scorrere fino a un contenuto effettivo. Non è una ricerca Google vuota, ma non è nemmeno una cosa molto specifica che potrebbe essere vista come sospetta.

So che bloccare il referrer è buono ma anche con quella soluzione puoi premere il pulsante Indietro sul tuo browser e il tuo catturato. Per questo problema ho pensato di poter fare qualcosa di simile:

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()
}

Sto postando perché ci sono vite a rischio con questo e ho bisogno di qualcosa che sia il più vicino possibile a una soluzione totale. come lo faresti?

 

AGGIORNAMENTO- 3-26-14:
ho eseguito alcune delle idee educative pubblicate qui dal centro risorse con cui sto lavorando ed ecco la loro risposta. "Ci vuole estremo coraggio perché i nostri utenti vengano persino sul nostro sito web. Quando vengono, cercano una risorsa facile e veloce per uscire da una situazione potenzialmente pericolosa per la vita. Nella maggior parte dei casi non avrebbero il tempo o la capacità mentale di istruirsi su un modo sicuro per navigare nel nostro sito Web. Quando viene presentata l'idea di un "pulsante antipanico", se fatto correttamente, è sembrata una risorsa che viene sempre richiesta dalla maggior parte delle vittime che trattiamo ".

Dopo aver letto molte delle idee qui sembra che una soluzione totale sarebbe un grande pulsante che galleggia in una posizione costante sul lato sinistro. Quando la pagina viene caricata, viene caricato un altro sito in background (forse una chiamata ajax) in modo che facendo clic sul pulsante rimuova solo il frame in sovrimpressione. Ciò significherà nessun tempo di caricamento quando si fa clic. Per evitare di premere il pulsante Indietro del browser, sembra che sia necessario dire al browser di non memorizzare nella cache ed eventualmente utilizzare replaceStatead ogni cambio di pagina per disabilitare un pulsante Indietro che rivela questo sito.

Questa è ancora una questione molto tecnica. Il dibattito aiuta molto, ma ho ancora bisogno di una soluzione tecnica funzionante. Qualcuno pensa di essere in grado di riunire tutte queste idee in qualcosa di funzionale? Ci lavorerò subito io stesso e posterò qualsiasi cosa mi venga in mente. Ringrazia tutti.


39
Vorrei iniziare cancellando o oscurando la pagina corrente (utilizzando javascript) quando si fa clic sul collegamento (perché può essere necessario del tempo prima che un collegamento venga seguito ...)
Cameron

8
È interessante notare che, nella pagina collegata, il link "clicca qui per partire velocemente" sembra inaccessibile su iPad, oscurato dai pulsanti dei social media ... sulla peggiore decisione ux che ho visto nella storia recente: /
David dice reintegrare Monica

6
D'accordo con David Thomas sulla preferenza per impostazione predefinita su Google: l'utilizzo di MSN sarebbe di per sé sospetto a casa mia.
Stephen P

6
Qual è la tua vera domanda?
Petah

15
Mettere il pulsante in alto sembra una posizione orribile. Pensa alla legge dei fitts! Hai una striscia sottile che qualcuno deve colpire, e se supera il limite non la colpirà. Ridicolo. Mettilo a sinistra, dove la maggior parte degli utenti può sfruttare le dimensioni effettivamente infinite. (A destra potrebbe essere la barra di scorrimento su alcuni display, in basso è la barra delle applicazioni predefinita, in alto è la barra delle schede predefinita. Chiunque sia abbastanza esperto da aver modificato queste impostazioni predefinite probabilmente lo sa ^w)
Phoshi

Risposte:


37

(QUASI) FINAL EDIT

OK, ho letto tutti i commenti e questa è quella che penso sia la soluzione migliore, ma ho anche pensato a un'ALTERNATIVA ALL-LOCALE. Sono aperto a ulteriori miglioramenti / discussioni

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.
}

Ho messo un esempio sulla mia istanza AWS a 54.186.79.95 Vai a quella pagina, fai clic sul pulsante, visita un'altra pagina, quindi premi di nuovo, ora sei su 54.186.79.95/decoywebsite e non c'è traccia di te su 54.186.79.95 /, se la cache è disabilitata, il tuo server vedrà la richiesta "../decoywebsite" e invierà una pagina esca. Sfortunatamente, non puoi modificare l'intero dominio, quindi è necessario che il dominio non sia sospetto.

Se vuoi sbarazzarti del contenuto della pagina, credo che il modo migliore sia usare document.body.innerHTML='';. Tecnicamente sei ancora sulla pagina ma tutto il contenuto è sparito.

Il prossimo passo è modificare la cronologia del browser. window.history.replaceState( collegamento a docs ) è una funzionalità HTML5 che può modificare la tua cronologia senza dover ricaricare la pagina o richiedere al tuo server. È abbastanza veloce ma funziona solo sui browser moderni. Quando l'utente fa clic sul pulsante di panico, sostituiremo la pagina corrente nella sua cronologia con un URL falso.

Se l'utente abusivo fa clic di nuovo, il tuo server (Php, python, qualunque cosa) riceverà una richiesta con il tuo falso URL. Quindi devi avere un altro endpoint nel tuo server (fammi sapere se non capisci gli endpoint). Crea un articolo, una ricetta o un bollettino meteorologico benigni con un aspetto simile a quello del tuo sito web originale per evitare sospetti se l'autore dell'abuso ha dato una rapida occhiata al sito web. Assicurati inoltre che il browser non memorizzi nella cache utilizzando il <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">tag.

Osservazioni aggiuntive

  • Idealmente il tuo intero sito web (tranne il tuo articolo esca ovviamente) dovrebbe essere una SPA (Applicazione a pagina singola) in modo che produca sempre e solo un record della cronologia del browser e devi solo modificare quello.
  • Alla fine della giornata, non penso che tu possa creare un pulsante antipanico che sia al 100% infallibile, ci saranno dei modi per aggirarlo. Devi solo trovarne uno con un livello accettabile di sicurezza e comodità.

UN'ALTRA ALTERNATIVA: CAMBIA LOCALMENTE LE INFO INCRIMINANTI E MODIFICA LA STORIA DEL BROWSER

Stavo anche pensando se invece di caricare google , se non fosse meglio trasformare effettivamente il tuo sito localmente con informazioni innocenti . Sembra meno sospetto del caricamento di Google (lo fanno tutti) e puoi fare tutto localmente senza ricaricare la pagina.

Quando fanno clic sul pulsante di panico, esegui una manipolazione DOM veloce (e compatibile con tutti i browser) per modificare le informazioni incriminanti sul tuo sito Web e farlo sembrare innocente (forse cambia solo il testo, deve essere veloce). In questo modo, è tutto fatto localmente che nella stragrande maggioranza dei browser oggi è quasi istantaneo. Non devi preoccuparti di ricaricare / server perché gli script dovrebbero essere già caricati e pronti per l'uso. Se mantieni lo stesso aspetto, sembra che l'utente stia semplicemente navigando in una pagina diversa del sito web. Non rendere troppo ovvio dall'aspetto del tuo sito web che si tratta di un sito web di crisi. Ovviamente, rendi impossibile tornare al contenuto originale. Vorrei anche chiarire sul pulsante di panico qual è la strategia in modo che l'utente non impazzisca.

Proverei comunque a cambiare la cronologia del browser e ad acquistare un altro dominio che ospita una copia della pagina esca, come nell'esempio precedente. Non solo se il nome di dominio è sospetto, ma nel caso in cui l'utente abusivo prema Aggiorna o torna indietro nella sua cronologia. Dovresti rendere il tuo intero sito web una SPA perché puoi solo modificare la tua voce corrente, non la tua cronologia passata. Ovviamente, questo funzionerebbe ancora solo nei browser HTML5, assicurati solo che non venga generato alcun errore e che l'altra parte degli script funzioni ancora nei vecchi browser.

Cosa ne pensa la gente? qualche debolezza a questo? Quale sarebbe un buon contenuto da sostituire?


10
Angular / Backbone non fa nulla che tu non possa fare con JS nativo.
Frambot

Modifica suggerita: dovresti chiarire che il #foo ref / fragment non viene inviato al server. Puoi dimostrarlo controllando ciò che è stato inviato utilizzando cURL: curl -v http://example.org/#/foo RFC 3986 "... l'identificatore del frammento è separato dal resto dell'URI prima di una dereferenziazione, e quindi le informazioni di identificazione all'interno del frammento stesso vengono dereferenziate esclusivamente dal programma utente. .. "
Joe Liversedge,

1
@ JoeLiversedge sì, probabilmente hai ragione. Tuttavia, è possibile sbarazzarsi di hashbang ( #) e quindi fare in modo che il server veda i frammenti. Alcuni framework JS lo fanno fuori dagli schemi. Non ho molta familiarità con window.historyuna soluzione JS pura, ma chiunque può modificare il mio post. L'app corrente su cui sto lavorando (Angular + Express) funziona in questo modo: il server non vede quando navigo all'interno della mia app ma se aggiorno o esco e rispondo, il mio server vedrà una richiesta completa.
NicolasMoise

Non penso che dovresti usare un framework in questo caso perché vuoi che lo script di uscita sia il più leggero possibile (non c'è bisogno di manipolazione DOM, basta spingere lo stato senza l'hashbang ed esci)
NicolasMoise

2
Mi piace l'idea che la cronologia possa essere nascosta automaticamente, ma non puoi essere sicuro che l'utente stia utilizzando un browser compatibile con HTML5. Probabilmente, se non sono esperti di tecnologia, non lo saranno.
schiacciare il

28

Dato che hai affermato che le vite sono a rischio nella tua implementazione, suggerisco vivamente di educare gli utenti a utilizzare più schede invece di fare clic su alcuni pulsanti di panico.

Le mie ragioni sono

  1. In tempi di `` emergenza '', quanto tempo impiega l'utente a spostare le mani sul mouse (supponendo che abbia alzato le mani per digitare o toccarsi i capelli o qualunque cosa volesse fare), supponiamo che ci sia voluto -> 0,5 secondi
  2. Nel tuo sito di esempio , la barra verde è in realtà molto piccola, per essere sinceri, non tutti sono molto precisi con la mano, la coordinazione degli occhi (inoltre l'accelerazione del cursore del mouse potrebbe differire tra i sistemi operativi e i profili utente), l'utente deve spostare il mouse sul pulsante "Panico" e fare clic, a meno che non siano giocatori professionisti di FPS , è probabile che impieghino un altro -> 1-2 secondi
  3. La mia ultima ipotesi variabile è, se il tuo script prevede il caricamento di risorse remote, ad esempio www.google.com, puoi mettere a rischio vite umane supponendo che il browser sia
    • Moderno
    • Ha gli script abilitati
    • La velocità e la latenza della rete sono ottimali
    • Le cache sono innescate.

Se hai intenzione di caricare risorse remote, ti suggerisco di inserire un div con z-index: -1 e alcuni contenuti web fittizi. Al clic, sposta il loro z-index più in alto per sovrapporre tutto sullo schermo.

Quindi, se assumiamo che carichi una risorsa remota e con tutte le variabili sconosciute, possiamo assumere che il tempo impiegato sia -> 0,5 - 10 secondi

Se hai intenzione di scrivere un programma che potrebbe uccidere qualcuno, ti consiglio caldamente di non correre il rischio di fare qualcosa che potrebbe richiedere dai 2 ai 12 secondi per salvarlo.

Educa i tuoi utenti mettendo un banner con le istruzioni

  1. Apri una scheda che non minacci la loro stessa vita (ad esempio google.com, msn.com, yahoo.com)
  2. Apri un'altra scheda con il tuo sito
  3. Naviga normalmente sul tuo sito
  4. In caso di emergenza, premere Ctrl+Wper Google Chrome, IE , Firefox, Opera (confermare per gli altri principali browser)

Se hai l'intera idea, premi ctrl + w rispetto alla tua soluzione pianificata, posso sicuramente garantire che Ctrl+Wsarà più veloce.


3
per quanto riguarda il percorso storico, c'è la modalità In-Private per IE e la modalità di navigazione in incognito per Chrome
Lee Gary

7
Penso che questa sia una buona idea, in quanto è decisamente più veloce / sicuro ma non sostituisce un pulsante antipanico. Non puoi aspettarti che tutti i visitatori abbiano letto e compreso il tuo tutorial, soprattutto se è lì per la prima volta. Penso che OP dovrebbe avere sia un tutorial sulle tecniche di navigazione sicura che un pulsante di panico.
NicolasMoise

42
Il pubblico di destinazione è chiaramente non molto esperto di tecnologia e in una situazione molto emotiva / stressata. Educare su come utilizzare un browser nel modo più furtivo (probabilmente in una lingua che non parlano molto bene) è attualmente la loro minima preoccupazione. E cosa fanno se proprio in quel momento vengono istruiti qualcuno entra? Sebbene sia certamente una buona idea in generale che sappiano, ad esempio ctrl-w, puoi garantire che si ricordino? Un "pulsante antipanico" altamente visibile è un aiuto valido e intuitivo che puoi dare loro. Tutto il resto può essere solo un'aggiunta.
PlasmaHH

16
Non so perché questo sia stato votato. Questa risposta è ridicola, mentre sarebbe bello se tutti conoscessero le corrette tecniche di navigazione sicura. Non puoi aspettarti che qualcuno che è in uno stato di angoscia e che probabilmente visita il tuo sito per la prima volta lo sappia / legga / capisca.

11
Onestamente non capisco perché questo sia stato votato. Questa è una risposta terribile e fuori tema che introduce un'ulteriore complessità non necessaria alla domanda originale di OP. Un suggerimento migliore sarebbe un banner più grande e più esplicito, non una scheda aggiuntiva. Smetti di pensare a questo problema dal punto di vista di uno sviluppatore esperto o di un superutente che ha imparato le scorciatoie da tastiera. A mia madre non importerebbe, o più esplicitamente, non capirà le scorciatoie da tastiera, e questo è precisamente a chi è rivolto.
theGreenCabbage

23

Questa risposta presuppone che la cronologia e la barra degli indirizzi non siano un problema. Almeno, non immediatamente.

Scenario

Julie è vittima di abusi coniugali. È su Internet in cerca di aiuto e arriva al tuo sito web: http://www.crisisprevention.com (immaginario per questa risposta)

Mentre sta esaminando il tuo sito, sente il suo coniuge che si avvicina rapidamente alla stanza. Lei va nel panico. Fortunatamente, hai un bel pulsante grande, fissato alla pagina mentre scorre.

Fa clic su questo pulsante e ...

La porta su Google.com

Non mi piace questo approccio per il seguente motivo: nessuno crederà che sei semplicemente seduto davanti al tuo computer a fissare il prompt di ricerca di Google. Credimi. L'ho già provato.

Di solito tenevo una scheda aperta con il prompt di Google e se stavo navigando fuori tema al lavoro, passavo alla scheda Google in modo che nessuno fosse più saggio. Ha funzionato ... più o meno. Fino a quando le persone hanno iniziato a chiedersi perché stavo fissando la schermata di ricerca di Google tutto il giorno.

Da allora ho iniziato ad aprire una scheda con vari progetti di lavoro in stati diversi. Di solito, cose su cui sto lavorando comunque tra la navigazione. Quindi, ora sto davvero facendo un po 'di lavoro! Non ci vuole un genio della tecnologia per capire questo approccio, motivo per cui la risposta di @ LeeGary potrebbe essere la migliore.

La prende ... la sta ancora portando ... oh problemi di connessione a Internet

Ecco una realtà per cui devi essere preparato. Forse la connessione a Internet viene interrotta nel momento in cui è in preda al panico. Il contenuto corrente rimane visualizzato sulla pagina mentre attende la richiesta HTTP GET per ottenere il contenuto che può avviare il rendering solo ..., nessun contenuto viene recuperato. La connessione Internet viene interrotta. Ciò potrebbe accadere per diversi motivi:

  • Il coniuge l'ha scollegato.
  • Il server contattato è sottoposto a un carico estremo.
  • Il browser è timido sulla memoria.
  • ISP sta avendo problemi.
  • Connessione remota / disconnessione (sì, esistono ancora).
  • Il computer è solo lento.
  • Il server DNS è inattivo.

I motivi continuano e spiegano perché il browser potrebbe soffocare quando preme il pulsante di panico e cerca di spostarla su un nuovo sito.

Offri immediatamente un sito web alternativo

La mia soluzione suggerisce di precaricare un sito web sullo sfondo del tuo sito. Caricalo in un <div>e nascondilo dietro il tuo sito normale. Se si tratta di un gran numero di contenuti, potresti considerare di nasconderlo con z-indexinvece di display: none. In questo modo sarà pre-renderizzato ( credo, potrebbe essere sbagliato qui ).

Ora, non importa se la sua connessione Internet è interrotta. Ha già il contenuto. Non è presente alcuna latenza con una richiesta HTTP GET. Viene visualizzato semplicemente immediatamente.

Se la barra degli indirizzi è un problema, potresti comunque essere in grado di mitigarlo offrendo un sito web alternativo correlato al tuo dominio.

Ad esempio, prendi il dominio fittizio (per questa risposta): http://www.crisisprevention.com

Potresti pubblicare un articolo alternativo che si riferisca a come risolvere la crisi della fame nel mondo.

L'idea qui è che è il primo sguardo iniziale che è il più schiacciante. Quando il coniuge entra e la vede dirigersi verso Google.com, con quello sguardo in preda al panico su di lei, sospetterà che qualcosa stia succedendo e sarà più propenso a indagare. Allo stesso modo, potrebbe essere anche peggio se fosse colta nell'atto di cercare di nascondere le sue azioni perché la richiesta HTTP GET era lenta o falliva.


3
Sarebbe bello se il sito web alternativo potesse avere lo stesso aspetto e aspetto del sito web reale: colori, layout. Quindi, se l'aggressore ha visto il sito con la coda dell'occhio mentre entrava nella stanza, sembrerebbe solo tremolare un po ', per non passare a un altro sito.
micapam

Mi piace questo processo di pensiero. Vorrei aggiungere un pensiero che avremmo bisogno di utilizzare JavaScript per attivare il toggle, quindi dovremmo avere un'opzione di backup per la possibilità (per quanto insignificante) che ci sia un errore JS o se JS è disabilitato per avere un effettivo href impostato sul collegamento in modo che vada da qualche parte invece di riattaccarsi alla parte superiore della pagina (e quindi restituire semplicemente false sull'evento clic in JS).
GreatBlakes

1
Dal punto di vista del design (in risposta al micapam), sono completamente d'accordo e aggiungerei che i progettisti che creano siti in cui è necessario un pulsante antipanico dovrebbero evitare colori che risaltano (saturazione e unicità) e utilizzare toni secondari bianco / grigio chiaro con una tonalità di colore primario neutro / comune.
GreatBlakes

16

Ci sono alcuni grossi problemi con il pulsante di panico:

  • è difficile cliccarci sopra (devi essere preciso)
  • ci vuole tempo per selezionarlo (e una quantità enorme di tempo se si utilizza un laptop senza mouse)
  • ti salva nella storia
  • è accessibile tramite il pulsante Indietro / Backspace.

E che dire delle mosse casuali in preda al panico di una donna che sta cercando di fare clic rapidamente su quel pulsante, mentre stava leggendo questo. E se perderà il pulsante dal primo tentativo?

Quindi se ci sono davvero vite umane che potrebbero essere salvate, questa è una specie di cattiva idea.

Il modo migliore è mostrare loro il modo normale di farlo (tramite una sorta di aiuto prima che tu possa entrare in questo sito). Può essere qualcosa del genere:

A seconda del browser di un utente, gli dai un elenco di passaggi da eseguire che utilizzano solo la tastiera (nessun mouse). Ad esempio se è su Chrome.

  1. apri un sito web che ti piace (FB, twitter, coniglietti divertenti e fai finta di fare qualcosa).
  2. Premi CRTL + MAIUSC + N (apre la finestra di navigazione in incognito) che non consentirà trucchi backspace / cronologia
  3. entra nel nostro sito lì (nessun copypasting per evitare di controllare cosa c'è dentro il tuo buffer)
  4. Leggi il materiale e tieni sempre le mani sulla tastiera vicine a CRTL e W.
  5. In caso di emergenza premere CRTL + W
  6. Continua a recitare sul tuo Facebook, Twitter, coniglietto divertente

Sicuramente devi modificare la tua spiegazione nella lingua appropriata. Ma in questo modo è davvero difficile essere scoperti. Racconta anche di stare seduto accanto a specchi e altre superfici riflettenti come finestre, vetri e altre cose. Chiedi loro di provare a usare queste combinazioni per un po 'di tempo per essere familiari.

Se sono coinvolte vite umane, devi essere professionale e non usare questi pulsanti di panico. Soprattutto se è così facile insegnare alle persone come farlo in modo più rapido e sicuro.

Rispondi a Nobius

Ho capito, grazie. Ma non sono d'accordo con il tuo punto. Dopo un sacco di campagna per metterlo su FB, l'hai effettivamente visto su FB? No. I non tecnici sono noti per avere idee assurdamente pessime, alcune delle quali potresti aver sperimentato (impedendo di fare clic con il tasto destro sulle pagine delle banche per migliorare la sicurezza, password a 4 cifre per essere più facili da digitare dai telefoni cellulari). Premere un pulsante sembra più facile, ma guarda il mio elenco di passaggi: l'unica cosa che devi fare in una situazione di stress è premere CTRL + W. Non è necessario pensare in termini di schede, modalità e altre cose. Questo arriva allo schema di base: vedere qualcuno, premere CTRL + W. Secondo me questo non è affatto difficile e facile da ricordare. Non è di gran lunga più difficile che ricordarsi di fare clic sul pulsante. Tutto il resto lo devi leggere in un'atmosfera normale.

La pressione di 2 pulsanti è MOLTO più veloce che muovere il mouse, ed è davvero difficile perderli quando ci sono le dita sopra (fai un esperimento e mettiti in una situazione di stress e prova a fare clic rapidamente su quel pulsante). Inoltre, come ho detto, vedo almeno quattro ragioni per cui qualcosa può andare storto in una panic buttonsituazione, mentre vedo molto meno nelle ragioni in CRTL + W. Se le vite umane sono coinvolte, devi essere professionale.

Risposta a NicolasMoise . Perché le persone continuano a dire che devi essere esperto di tecnologia per premere CTRL + W? Non sto cercando di mostrare alle persone come utilizzare TOR, VPN, impostare il canale di crittografia. Questo è solo CTRL + W. Le persone hanno imparato a giocare con gli uccelli arrabbiati per sprecare il loro tempo (che è molto più difficile che ricordare 2 pulsanti), così le persone possono imparare CRTL + W per salvare le loro vite. Il tutorial può essere mostrato in modo tale che l'osservatore non possa capire perché stai leggendo questo (quando vedi il mio elenco di passaggi, non credo che la prima ipotesi sarebbe - ah questo è per il sito di abusi sulle donne).

Ma molto probabilmente dare alle persone la percezione di una falsa sicurezza è molto meglio. La risposta non è off-topic. La persona sta chiedendo come implementare il pulsante di panico - e sto spiegando perché l'attuale modo è imperfetto e cosa può fare per farlo meglio. È allo stesso livello di "Voglio rendere la comunicazione sicura e sto usando la crittografia di sostituzione", sì, puoi migliorare la velocità della sua crittografia e fingere che tutto sia OK, oppure puoi mostrare un altro modo.

Un ultimo tentativo per spiegare il mio punto aggiuntivo : devi spiegare adeguatamente alle persone i rischi dietro il tuo approccio. Un buon esempio di quando le persone hanno sofferto di non spiegare correttamente i problemi è stato il problema con i blogger bielorussi, i quali pensavano che pubblicare in modo anonimo su Internet li avrebbe resi non rintracciabili dalle repressioni governative. La risorsa ha dato loro la falsa convinzione di essere salvi se non forniscono la loro vera identità. Hanno imparato che questo non è vero nel modo più duro (quando sono stati incarcerati per alcuni anni).

Se qualcuno spiegasse loro il rischio, penso che alcuni di loro sarebbero felici di imparare a usare qualsiasi strumento per salvare i loro prossimi cinque anni.

Allora perché non dare alle donne poche opzioni:

  • puoi utilizzare l'approccio A subito, e qui ci sono i problemi che puoi incontrare.
  • puoi usare l'approccio B, che richiede X minuti durante la prima volta per leggere e capire qualcosa. Quindi l'elenco dei possibili problemi si riduce a un elenco più piccolo.

E lascia che decidano cosa vogliono fare. In questo modo conoscono i rischi.


14
Non ho votato negativamente, ma non sono d'accordo con la tua affermazione che è ridicolo. Un pulsante di panico era qualcosa per cui molte associazioni di beneficenza e parlamentari nel Regno Unito hanno fatto una campagna per essere messo su Facebook per adolescenti vittime di bullismo online e non sapevano da chi chiedere aiuto. Premere un pulsante è molto più facile da fare in una situazione stressante, quindi dover memorizzare una lunga sequenza di passaggi in anticipo e aspettarsi che nulla vada storto quando si verifica la situazione.
Nobilis

2
@Mark bene, OP ha detto che era di base :) Ma sto cercando di sottolineare che il concetto è noto, familiare e secondo me più adatto a persone non tecniche. Sai cos'è un pulsante e lo premi. Pensare in termini di schede, modalità private e scorciatoie da tastiera è probabilmente più complicato e meno familiare alle persone che possono navigare solo occasionalmente sul web.
Nobilis

2
@Salvador Questa risposta è fuori tema. È come: "Oh, sei in una relazione violenta e qualcuno sta monitorando ogni tua mossa, perché non prendi un po 'di tempo per leggere e comprendere questo lungo tutorial sulle corrette tecniche di navigazione in modo da essere al sicuro la prossima volta che visiti il ​​sito (che presume che tu non sia stato sorpreso a leggere il tutorial) ". Qualsiasi sistema che presume che tutti i suoi utenti siano esperti di tecnologia fallirà inevitabilmente. Ancora una volta, non stiamo dicendo che il tuo metodo è cattivo o lento (in realtà è più veloce e più sicuro) ma non puoi aspettarti che ogni visitatore lo sappia, ed è per questo che hai bisogno di un pulsante di panico.
NicolasMoise

4
Senza offesa, ma non credo che tu capisca il punto che io e Nobilis stiamo cercando di fare. Stai dicendo che Ctrl + W è più veloce / più sicuro, sono d'accordo. Il punto in cui non siamo d'accordo è che non puoi aspettarti che ogni visitatore sappia o ricordi Ctrl + W solo perché l'hai menzionato da qualche parte sul tuo sito. Inoltre, OP ha chiesto specificamente un pulsante antipanico.
NicolasMoise

1
@NicolasMoise Penso che il modo corretto per farlo sarebbe uno studio teorico per scoprire come le persone si comportano in una situazione e per confrontare due approcci. Con il pulsante e con CTRL + W. Guarda quanto velocemente le persone possono imparare a premere CTRL + W (potrebbe essere davvero difficile e non riesco a capirlo). E poi per vedere la percentuale di fallimenti. Se pensi che questa sia una necessità, perché non dire alle persone il rischio dietro questa necessità. Potrebbero presumere che il pulsante antipanico sia completamente privo di errori e sarebbero davvero sorpresi se qualcuno potesse mostrare che con backspace puoi vedere cosa stanno facendo.
Salvador Dali

10

Penso che tu abbia ancora un lungo viaggio davanti a te.

Il motivo per inviare le persone alla pagina di Google è questo

  1. si carica molto velocemente
  2. è probabile che venga comunque memorizzato nella cache
  3. rende molto veloce
  4. è davvero ben ottimizzato
  5. ho già detto che è veloce?

Il collegamento fornito è lento.

Se vuoi fornire un modo rapido per cambiare lo schermo, apri il tuo sito in un frameset - con il mantello in un frame di altezza 0 e il tuo sito in un frame di altezza intera. Quindi, quando l'utente fa clic sul collegamento, scambia le altezze del frame e reindirizza alla finestra di livello superiore alla pagina già caricata.


Non credo che Google tolleri di essere caricato in un frame, ma mi piace l'idea del mantello di cambio frame.
David dice di reintegrare Monica il

Non è una cattiva idea, un problema che vedo è che l'URL rimarrebbe lo stesso.
NicolasMoise

Sono ancora 2-3 secondi (forse di più su Internet lento), anche con una cache calda.
Petah

@David: l'OP non voleva usare Google.
symcbean

@NicolasMoise: no l'URL nella barra degli indirizzi cambia non appena si emette il reindirizzamento
symcbean

5

Sto estendendo un po 'l'ambito della domanda, poiché fare clic sul pulsante di panico garantisce che l'utente non verrà catturato.

Ci sono più preoccupazioni in questo problema che devono essere emesse a seconda del rischio e di quanto l'utente sia esperto di calcolo.

Pertanto, potrebbe essere una buona idea fornire all'utente alcune conoscenze di base sulla sicurezza nel modo più amichevole possibile. Anche se l'utente è molto stressato, è meglio che sappia quali tracce può lasciare.

tracce

Cronologia di navigazione

In ogni momento l'utente utilizza il tuo sito web senza navigazione privata, lascerà tracce molto evidenti. Non esiste un modo corretto per rilevare se il browser è in esecuzione in modalità privata, ma è possibile visualizzare un avviso all'ingresso che dovrebbe passare alla modalità privata, nonché cancellare la cronologia corrente di entrata. È possibile preparare alcuni screenshot a cui l'utente deve seguire per eliminare la cronologia (o, se disponibile, eliminare solo la voce al sito)

Biscotti

Se utilizzi i cookie, la persona successiva può ricevere quei cookie (anche se sono scaduti) e può capire che questo sito è stato utilizzato. Se puoi, utilizza le intestazioni personalizzate per l'autorizzazione, che non lasceranno traccia nel computer.
Questo può costringerti a cambiare la struttura dell'applicazione che potrebbe non essere una buona idea. Impostazione dei cookie nel browser solo dopo esserti assicurato che l'utente stia utilizzando una sessione di navigazione privata.

caching

Una persona esperta di tecnologia può rilevare se il sito è stato visitato se si utilizza la cache aprendo la pagina e ispezionando la rete. Assicurati di indicare esplicitamente al browser di non memorizzare nella cache utilizzando queste intestazioni nelle tue risposte:

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

Tasto indietro

Al cambio di pagina, ogni pagina verrà inserita nella cronologia corrente (anche nella sessione di navigazione privata), consentendo l'utilizzo del pulsante Indietro. Se puoi, usa replaceStatesu ogni cambio di pagina in modo che il pulsante Indietro venga rotto.

crittografia

Usa HTTPS per evitare intercettazioni. Nota che le query DNS continueranno a non essere crittografate, ma non credo che questo sarà un problema a meno che l'utente non stia perdendo materiale governativo. In tal caso, un sito Web non sarebbe comunque abbastanza sicuro.

In generale, dovrebbero essere sufficienti per rimuovere le tracce, inoltre assicurati di non utilizzare altri livelli di persistenza come localStorage.

Pulsante antipanico

Questo è un problema completamente diverso e dobbiamo includere più cose nel nostro calcolo.
Prima di tutto, se questo è uno scenario in pericolo di vita, dobbiamo capire che l'utente sarà sotto stress assoluto quando avrà bisogno di avviare il panic exit. Non sappiamo come sia posizionato lo schermo del computer e non possiamo indovinare cosa sta facendo l'utente nel momento del panico.

Problemi di posizionamento dello schermo

Il caso peggiore sarebbe che lo schermo sarebbe posizionato in modo tale che la minaccia possa vedere (da lontano) lo schermo e il sito. In tal caso, il sito dovrebbe essere progettato in modo tale da sembrare molto simile a exit siteper rimuovere ogni sospetto. Allontanandosi da un design diverso al bianco Google sarà evidente anche lo schermo non è direttamente visibile solo confrontando i colori che lo schermo emetteva tra due siti (in una stanza ragionevolmente buia).

Esci dalla velocità

Se effettui solo un reindirizzamento, potrebbe non essere abbastanza veloce da apportare la modifica in tempo. Devi precaricare il lato di uscita in un iframe e, in caso di panico, dovresti metterlo a schermo intero, quindi eseguire il reindirizzamento. Questo aiuterà sia a memorizzare nella cache i contenuti statici dei siti di uscita, sia a rendere le cose più veloci. Assicurati di utilizzare replaceStateinvece della navigazione naturale per disabilitare il pulsante Indietro.

Esci da Percorsi

Devi assicurarti che le vie di uscita siano immediatamente e facilmente disponibili per l'utente. Penso che i due stati più possibili siano o l'utente sta digitando o l'utente sta navigando . Ciò significa che dovresti avere sia la scorciatoia da tastiera per uscire che un grande pulsante nel tuo HTML.

Uscita dalla tastiera

Penso che premendo due volte il tasto ESC dovrebbe attivarlo, o tenendo premuto uno dei tasti grandi dovrebbe (come spazio o invio). In ogni caso, dovresti far sapere all'utente questo e possibilmente lasciarlo allenare provando. Provare le uscite di panico li aiuterà entrambi ad anticipare il comportamento in caso di panico a fare un buon ragionamento (avere il comportamento atteso potrebbe essere di sollievo), e saranno addestrati a farlo, in modo che saranno più propensi a farlo correttamente in preda al panico tempo.

Uscita del mouse

Sarà abbastanza semplice, avere un grande pulsante colorato diverso che attiverà il panico.

Da dove si esce?

Dipende dal caso, in base alla progettazione potrebbe essere sensato fare un reindirizzamento a un sito di uso comune e progettato in modo simile per impostazione predefinita. Potrebbe anche essere opportuno consentire all'utente di scegliere autonomamente il sito di uscita (dopo aver impostato un valore predefinito sano).

Appunti

  • Se l'utente utilizza la navigazione privata e il panico, il browser sarà ancora in stato di navigazione privata, il che potrebbe destare sospetti. Non c'è un modo semplice per aggirarlo. Puoi provare a chiedere all'utente di cancellare la cronologia in seguito, ma potrebbe non avere abbastanza tempo per farlo.
  • La maggior parte della risposta si concentra sui browser desktop, l'esperienza su un dispositivo mobile sarà diversa, ma non molto.

3
OP ha chiesto "come implementare un pulsante antipanico" e tuttavia le persone sembrano rispondere con un tutorial su "come navigare in sicurezza sul web". Immagino che sia così per te, non dirci di cosa hai bisogno, te lo diremo.

4

Fuga affidabile

EDIT: Un'altra cosa che viene in mente è che se l'utente ha perso la connettività Internet, il che accade per tutti i tipi di motivi, incluso qualcuno che scollega il cavo, non è possibile spostarlo in un altro sito. Potrebbero essere bloccati lì come un cervo sotto i fari sulla pagina "incriminante". Penso che questo aggiunga credibilità all'idea di navigare effettivamente verso un sito partner / affiliato benigno che a sua volta carica il tuo sito in un iframe direttamente sulla loro pagina. Tutto quello che devi fare per far scomparire il tuo sito è eliminare il tuo iframe dal DOM utilizzando JavaScript che è già caricato nell'iframe. Funzionerebbe anche se la connessione Internet fosse interrotta.

Abiliterei il tasto Esc per un'uscita rapida. Si tratta di un tasto fisico ben noto sulla tastiera che l'utente può utilizzare se necessario, invece di spostare un puntatore del mouse pignolo su un pulsante virtuale e fare clic.

EDIT: Ho appena realizzato che un poster precedente ha fatto "ESC" parlare il tasto Esc, riferendosi ad essa come Ho cercato "tasto Esc" nella pagina prima di scrivere la mia risposta, ma non l'ho visto.

EDIT: lascerei anche il pulsante di panico sulla pagina, con il testo "Clicca qui o PREMI ESCAPE per uscire rapidamente". Ma ne metterei uno in alto e uno in fondo alla pagina. Forse avrei messo una striscia tutto intorno alla pagina. Se il visitatore fa clic in un punto qualsiasi di quella zona di confine, il contenuto scompare.

Considera anche; per rendere il pulsante antipanico ragionevolmente facile da fare clic in una situazione di panico, probabilmente dovresti renderlo un po 'sovradimensionato e assicurarti che sia sempre sullo schermo spostandolo mentre la pagina scorre, o mettendo più pulsanti antipanico sul pagina, che potrebbe essere un po 'sospetta in sé e per sé. Sembra che queste probabilmente vogliano essere pagine dall'aspetto piuttosto discreto di cui stai parlando.

Se stai usando jQuery, potresti fare qualcosa di simile per rispondere al tasto Esc:

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

App AJAX a pagina singola

Sembra che tutte le soluzioni suggerite riguardino la ricerca di un modo per navigare rapidamente in un altro sito, sia averlo precaricato e visualizzarlo rapidamente sopra il tuo sito, sia cancellando il DOM e poi navigando via, o qualunque cosa.

Se avessi intenzione di adottare questo approccio, avrei una lunga lista di siti universalmente benigni e ricerche sui motori di ricerca che vorrei scorrere in modo che non sia la stessa "ricerca di scarpe da donna nere" che viene visualizzata ogni volta.

Ma che dire di ribaltare l'intero concetto? Utilizzare uno o più siti esca benigni o addirittura sollecitare siti commerciali benigni non correlati per ospitare un collegamento dall'aspetto benigno e caricare il sito come app AJAX a pagina singola in un iframe nella parte superiore delle pagine host ?

EDIT: Puoi anche farlo facendo in modo che la tua home page dichiari brevemente che reindirizzerà il visitatore a un sito partner cooperativo per la propria sicurezza e mostrerà un grande pulsante "Vai" amichevole. Se hai più siti partner a cui puoi inviarli, tanto meglio. Quando fanno clic, cancella la cronologia del browser per la tua pagina, reindirizza al sito affiliato con un parametro di query URL che indica al tuo JavaScript bootstrap presso l'affiliato di caricare immediatamente il tuo iframe. Da quel momento in poi, non ci sarà alcun carico aggiuntivo sul server web dell'affiliato. In questo modo, hai una Home page ufficiale, ma ottieni immediatamente il visitatore completamente fuori dalla tua pagina.

Premendo il tasto Esc o facendo clic sul pulsante Panic eliminerebbe semplicemente il tuo iframe dal DOM, lasciando la pagina host benigna e nessuna cronologia del browser. (Poof)

Potresti mitigare i problemi di cronologia del browser in questo modo poiché il tuo collegamento eseguirà un po 'di codice JavaScript bootstrap e non navigheresti mai nel browser al tuo sito.

Quando si fa clic sul collegamento bootstrap nella pagina host, inserisce un iframe nel DOM, lo sposta (posizionamento assoluto e ordine z) per posizionarlo in cima alla pagina host, quindi effettua una chiamata AJAX al tuo servizio web per recuperare il contenuto HTML da caricare nel frame. Tutti i collegamenti e / o pulsanti aggiuntivi nel frame effettuano anche chiamate AJAX al tuo servizio, sia che invii dati al server o che recuperi dati per la visualizzazione. Non carichereste mai una vera "pagina" nel browser dell'utente.

Un altro aspetto interessante di questo approccio è che se il browser si arresta in modo anomalo o diventa instabile e deve essere chiuso da Task Manager, il che impedirebbe l'esecuzione del codice di pulizia, beh non importa perché non hai (necessariamente) nulla pulire.

Houston ...?

Alcuni problemi seri che vedo con una qualsiasi di queste soluzioni fuori dalla mia testa, in particolare dato il contesto in cui le vite potrebbero essere in pericolo:

  • oggetti memorizzati nella cache (immagini, principalmente) nella cache del browser

  • il router / firewall potrebbe registrare le richieste HTTP / HTTPS e la vittima potrebbe non saperlo e nulla di ciò che fai per ripulire il browser lo mitigherà

  • potrebbe esserci spyware keylogging / screencap installato sul computer dell'utente e nulla che puoi fare da un'app del browser lo mitigherà

  • i computer si bloccano, i browser Web si bloccano e si bloccano e le tracce vengono lasciate indietro perché il codice di pulizia non può essere eseguito.

Come suggerito da almeno un altro poster (onestamente, ho solo scremato brevemente gli altri post), l'uso dei browser in modalità protetta dovrebbe mitigare molti di questi scenari. Ma questo è un problema di formazione degli utenti e la formazione degli utenti può essere un po 'folle nelle migliori condizioni. Potrebbe essere davvero difficile avere ragione se le vittime non sono molto esperte di tecnologia, specialmente se si trovano davvero in una situazione di panico in cui pensare con calma potrebbe essere difficile.


2

Potresti dare un'occhiata ai pulsanti di panico "Boss" su alcuni vecchi giochi e siti. L'idea è che potresti passare rapidamente a qualcosa di innocente se passasse il tuo capo (ovviamente, devi vederli avvicinarsi prima!).

Quasi ogni azione frettolosa / frenetica quando l'aggressore entra susciterà i loro sospetti. Considera l'idea di progettare gli schermi in modo che sembrino notizie di carattere generale o simili (da lontano), senza titoli o immagini di grandi dimensioni che rivelano il loro scopo. Ciò potrebbe spesso consentire il tempo per un'uscita "piacevole" dal sito, senza panico. Se il collegamento del pulsante antipanico porta l'utente, ad esempio, a un sito di notizie in buona fede, tanto meglio (se viene visualizzato abbastanza velocemente).

Come altri hanno già detto, se l'aggressore diventa sospettoso (e lo sono molti maniaci del controllo), c'è ancora una traccia della cronologia sul browser che può scoprire rapidamente dove è stato l'utente. Francamente, non c'è molto che puoi fare, soprattutto se l'utente entra in una modalità di panico frenetico cercando di coprire le proprie tracce e l'aggressore lo vede. Anche se lo schermo stesso può essere aggiornato a qualcosa di innocente dopo un certo timeout, la cronologia del browser avrà l'URL.

Considera l'idea di consigliare agli utenti di posizionare il computer in modo che l'aggressore non possa avvicinarsi di soppiatto da dietro o di andare in una biblioteca o in un altro luogo non privato per utilizzare questo sito. Se il contenuto dello schermo appare opaco da lontano (vedi sopra), non dovrebbe attirare l'interesse degli altri.

Buona fortuna con questo!


la mia risposta affronta il problema della cronologia del browser (non è perfetto però e probabilmente può essere migliorato)
NicolasMoise

2

Potresti mostrare una pagina di errore invece di un sito effettivo, che è già caricato in background. Forse una falsa pagina di YouTube o google 404? Penso che ciò ridurrebbe al minimo le dimensioni dei contenuti extra.

Come altri hanno suggerito, userei anche il tasto Esc. Riduce il cambiamento di perderlo, sarebbe molto più facile per qualcuno con un tappetino per il mouse e l'utente può tenere il dito su di esso mentre sta semplicemente navigando nel sito.

Puoi anche usare altre opzioni; un pulsante sulla pagina stessa o informali su altri metodi di fuga (ctrl + w, come menzionato prima). Forse anche un gesto per gli utenti di tablet? Probabilmente ci sono alcune librerie per questo.

E, naturalmente, potresti cambiare l'URL nella barra delle applicazioni. (Vedi altri post per il codice su come farlo).

Incoraggiali a provare le opzioni di fuga. Quindi sanno cosa fanno e come possono reagire.


0

Penso che possiamo farlo in modo diverso. La mia idea è la seguente:

  1. Mostra il sito web solo con contenuti falsi (stile e layout simili a quelli reali).
  2. L'utente deve eseguire una certa interazione con il contenuto per attivare il passaggio 3 (ad esempio, inserire XYZ in una casella di testo o aver fatto clic su una combinazione di Checkbox o RadioButton, ecc.).
  3. Con il passaggio 2 soddisfatto, quando l'utente ha superato un punto minuscolo della pagina (lato destro), la pagina visualizzerà il suo contenuto reale. E il contenuto rimarrà se il mouse ci passa sopra.
  4. In caso di emergenza / panico, l'utente può semplicemente spostare il mouse lontano dal contenuto reale e il contenuto verrà modificato di nuovo in quello falso.

... mentre si tiene in mano un sacchetto di frutta e si canta "Anchors away", altrimenti il ​​vero contenuto non verrà mostrato ...
Craig

@ Craig, hai avuto l'idea ...
Bolu
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.