Stratégie de sortie la plus rapide pour un bouton de panique dans les sites Web de crise / d'abus? [fermé]

122

Je crée un site Web pour un centre de ressources sur la violence faite aux femmes. Un grand nombre de centres comme celui-ci ont ce que les centres appellent un «bouton de panique». Un exemple de base se trouve ici en haut de chaque page dans la barre verte.

L'idée du lien ou du bouton est que si une femme cherchait de l'aide sur ce site Web et que son agresseur ou quelqu'un qu'elle ne voulait pas connaître marchait dans la pièce, cela permettait une évasion rapide. Parfois, un lien est beaucoup plus rapide que la fermeture d'une fenêtre de navigateur et cela peut être suspect.

Le problème que je vois est que la plupart des boutons que je vois faire cela vous envoient simplement vers Google ou quelque chose du genre. Je vais faire quelque chose comme ça:

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

Un lien comme celui-ci vous fera défiler jusqu'à un contenu réel. Ce n'est pas une recherche Google vierge, mais ce n'est pas non plus une chose très spécifique qui pourrait être considérée comme suspecte.

Je sais que bloquer le référent est une bonne chose, mais même avec cette solution, vous pouvez appuyer sur le bouton Précédent de votre navigateur et votre capture. Pour ce problème, j'ai pensé que je pouvais faire quelque chose comme ça:

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

Je poste parce qu'il y a des vies en danger avec cela et j'ai besoin de quelque chose qui soit aussi proche d'une solution totale que possible. Comment ferais-tu ceci?

 

MISE À JOUR - 3-26-14:
J'ai couru quelques-unes des idées éducatives affichées ici par le centre de ressources avec lequel je travaille et voici leur réponse. "Il faut un courage extrême pour que nos utilisateurs viennent même sur notre site Web. Quand ils viennent, ils recherchent une ressource rapide et facile pour se sortir d'une situation potentiellement mortelle. Ils n'auraient pas le temps ou la capacité mentale dans la plupart des cas se renseigner sur un moyen sûr de naviguer sur notre site Web. Lorsqu'on lui a présenté l'idée d'un «bouton de panique», lorsqu'il est fait correctement, cela semble être une ressource toujours demandée par la plupart des victimes que nous traitons. "

Après avoir lu beaucoup d'idées ici, il semble qu'une solution totale serait un gros bouton qui flotte dans une position constante sur le côté gauche. Lorsque la page se charge, elle charge un autre site en arrière-plan (peut-être un appel ajax) de sorte que cliquer sur le bouton supprime simplement le cadre de superposition. Cela signifie pas de temps de chargement lorsque vous cliquez dessus. Pour éviter d'appuyer sur le bouton de retour du navigateur, il semble qu'il soit nécessaire de dire au navigateur de ne pas mettre en cache et d'utiliser éventuellement à replaceStatechaque changement de page pour désactiver un bouton de retour qui révèle ce site.

C'est encore une question très technique. Le débat aide beaucoup mais j'ai encore besoin d'une solution technique fonctionnelle. Quelqu'un pense-t-il pouvoir rassembler toutes ces idées en quelque chose de fonctionnel? J'y travaillerai tout de suite moi-même et publierai tout ce que je proposerai. Merci a tous.

David Coggins
la source
39
Je commencerais par effacer ou obscurcir la page actuelle (en utilisant javascript) lorsque le lien est cliqué (car cela peut prendre un certain temps pour qu'un lien soit suivi ...)
Cameron
8
Fait intéressant, dans la page liée, le lien «cliquez ici pour quitter rapidement» semble inaccessible sur iPad, masqué par les boutons des médias sociaux ... à propos de la pire décision ux que j'ai vue dans l'histoire récente: /
David dit réintégrer Monica
6
D'accord avec David Thomas sur la préférence avec Google par défaut - l'utilisation de MSN serait en soi suspecte dans ma maison.
Stephen P
6
Quelle est votre vraie question?
Petah
15
Mettre le bouton en haut semble être un mauvais placement. Pensez à la loi de fitts! Vous avez une fine bande que quelqu'un doit frapper, et s'il dépasse, il ne la frappera pas. Ridicule. Mettez-le sur la gauche, où la majorité des utilisateurs peuvent profiter de la taille effectivement infinie. (La droite pourrait être la barre de défilement sur certains écrans, le bas est la barre des tâches par défaut, le haut est la barre d'onglets par défaut. Quiconque est assez averti pour avoir changé ces ^w
paramètres par

Réponses:

37

(PRESQUE) MODIFICATION FINALE

OK, j'ai lu tous les commentaires et c'est ce que je pense être la meilleure solution mais j'ai aussi pensé à une ALTERNATIVE TOUT-LOCAL. Je suis ouvert à d'autres améliorations / discussions

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

J'ai mis un exemple sur mon instance AWS à 54.186.79.95 Allez sur cette page, cliquez sur le bouton, visitez une autre page, puis répondez, vous êtes maintenant sur 54.186.79.95/decoywebsite et il n'y a aucune trace de votre présence sur 54.186.79.95 /, si le cache est désactivé, votre serveur verra la requête "../decoywebsite" et enverra une page leurre. Malheureusement, vous ne pouvez pas modifier l'intégralité du domaine, vous aurez donc besoin que le domaine ne soit pas suspect.

Si vous voulez vous débarrasser du contenu de la page, je pense que le meilleur moyen est de l'utiliser document.body.innerHTML='';. Vous êtes toujours techniquement sur la page mais tout le contenu a disparu.

L'étape suivante consiste à modifier l'historique de votre navigateur. window.history.replaceState( lien vers la documentation ) est une fonctionnalité HTML5 qui peut modifier votre historique sans effectuer de rechargement de page ni de requête à votre serveur. C'est assez rapide mais ne fonctionne que sur les navigateurs modernes. Lorsque l'utilisateur cliquera sur le bouton de panique, nous remplacerons la page actuelle de son historique par une fausse URL.

Si l'utilisateur abusif clique en arrière, votre serveur (Php, python, peu importe) recevra une requête avec votre fausse URL. Vous devez donc avoir un autre point de terminaison sur votre serveur (faites-moi savoir si vous ne comprenez pas les points de terminaison). Créez un article, une recette ou un bulletin météo sans intérêt avec une apparence et une sensation similaires à celles de votre site Web d'origine afin d'éviter tout soupçon si l'agresseur jetait un coup d'œil rapide sur le site Web. Assurez-vous également que le navigateur ne met pas en cache en utilisant la <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">balise.

Remarque additionnelle

  • Idéalement, votre site Web entier (à l'exception de votre article leurre bien sûr) devrait être une SPA (application à page unique) afin qu'il ne produise qu'un seul enregistrement d'historique de navigateur et que vous n'ayez qu'à le modifier.
  • À la fin de la journée, je ne pense pas que vous ne puissiez pas créer un bouton de panique à 100% infaillible, il y aura des moyens de contourner cela. Il vous suffit d'en trouver un avec un niveau de sécurité et de commodité acceptable.

UNE AUTRE ALTERNATIVE: MODIFIER LOCALEMENT LES INFORMATIONS INCRIMINATIVES ET MODIFIER L'HISTORIQUE DU NAVIGATEUR

Je pensais aussi si au lieu de charger google , s'il n'est pas préférable de réellement transformer votre site localement avec des informations innocentes . Cela semble moins suspect que de charger google (tout le monde le fait) et vous pouvez tout faire localement sans recharger la page.

Lorsqu'ils cliquent sur le bouton de panique, vous effectuez une manipulation DOM rapide (et compatible avec tous les navigateurs) pour modifier les informations incriminantes sur votre site Web et lui donner un aspect innocent (peut-être simplement changer le texte, cela doit être rapide). De cette façon, tout est fait localement, ce qui, dans la grande majorité des navigateurs, est aujourd'hui presque instantané. Vous n'avez pas à vous soucier du rechargement / des serveurs car les scripts devraient déjà être chargés et prêts à l'emploi. Si vous gardez le même aspect et la même sensation, il semble que l'utilisateur naviguait simplement vers une autre page du site Web. N'indiquez pas trop clairement à l'apparence de votre site Web qu'il s'agit d'un site Web de crise. Bien sûr, vous empêchez de revenir au contenu d'origine. Je voudrais également préciser sur le bouton de panique quelle est la stratégie pour que l'utilisateur ne panique pas.

J'essaierais toujours de changer l'historique du navigateur et d'acheter un autre domaine qui héberge une copie de la page leurre, comme dans l'exemple précédent. Non seulement si le nom de domaine est suspect, mais au cas où l'utilisateur abusif frappe, actualisez ou retourne dans son histoire. Vous devriez faire de votre site Web entier un SPA, car vous ne pouvez modifier que votre entrée actuelle, pas votre historique. Bien sûr, cela ne fonctionnerait toujours que dans les navigateurs HTML5, assurez-vous simplement qu'aucune erreur n'est générée et que l'autre partie des scripts fonctionne toujours dans les anciens navigateurs.

Que pensent les gens? des faiblesses à cela? Quel serait le bon contenu à remplacer?

NicolasMoise
la source
10
Angular / Backbone ne fait rien de ce que vous ne pouvez pas faire avec JS natif.
Frambot
Modification suggérée: vous devez préciser que le #foo ref / fragment n'est pas envoyé au serveur. Vous pouvez le prouver en vérifiant ce qui est envoyé en utilisant cURL: curl -v http://example.org/#/foo RFC 3986 "... l'identifiant de fragment est séparé du reste de l'URI avant une déréférence, et ainsi les informations d'identification dans le fragment lui-même sont déréférencées uniquement par l'agent utilisateur. .. "
Joe Liversedge
1
@JoeLiversedge oui, vous avez probablement raison. Cependant, il est possible de se débarrasser du hashbang ( #) et donc de faire voir les fragments à votre serveur. Certains frameworks JS le font hors de la boîte. Je ne suis pas familier avec window.historyune solution JS pure, mais tout le monde est le bienvenu pour modifier mon message. L'application actuelle sur laquelle je travaille (Angular + Express) fonctionne comme ceci: le serveur ne voit pas quand je navigue dans mon application mais si j'actualise ou quitte et répond, mon serveur verra une demande complète.
NicolasMoise
Je ne pense pas que vous devriez utiliser un framework dans ce cas car vous voulez que le script de sortie soit le plus léger possible (pas besoin de manipulation DOM, il suffit de pousser l'état sans le hashbang et de sortir)
NicolasMoise
2
J'aime l'idée que l'historique puisse être couvert automatiquement, mais vous ne pouvez pas être sûr que l'utilisateur utilise un navigateur compatible HTML5. Probablement, s'ils ne sont pas experts en technologie, ils ne le seront pas.
écraser
28

Puisque vous avez dit que des vies sont en danger dans votre implémentation, je suggère fortement d'éduquer les utilisateurs à utiliser plusieurs onglets au lieu de cliquer sur certains boutons de panique.

Mes raisons étant

  1. En cas d '`` urgence' ', combien de temps faut-il à l'utilisateur pour déplacer ses mains vers la souris (en supposant qu'il lève les mains pour taper ou toucher ses cheveux ou tout ce qu'il veut faire), supposons qu'il leur a fallu -> 0,5 secondes
  2. Dans votre exemple de site , la barre verte est en fait très petite, pour être franc, tout le monde n'est pas très précis avec sa main, la coordination des yeux (de plus, l'accélération du curseur de la souris peut différer entre les systèmes d'exploitation et les profils utilisateur), l'utilisateur doit déplacer le souris sur le bouton "Panic" et cliquez, à moins qu'ils ne soient des joueurs FPS professionnels , cela leur prendra probablement un autre -> 1-2 secondes
  3. Ma dernière hypothèse variable est que si votre script implique le chargement de ressources distantes, par exemple www.google.com, vous pouvez mettre des vies en danger en supposant que le navigateur est
    • Moderne
    • A des scripts activés
    • La vitesse et la latence du réseau sont optimales
    • Les caches sont amorcés.

Si vous allez charger des ressources distantes, je vous suggère d'insérer un div avec z-index: -1 et un contenu Web factice. Au clic, déplacez leur z-index plus haut pour tout chevaucher à l'écran.

Donc, si nous supposons que vous chargez une ressource distante et avec toutes les variables inconnues, nous pouvons supposer que le temps pris est -> 0,5 - 10 secondes

Si vous allez écrire un programme qui pourrait tuer quelqu'un, je vous suggère fortement de ne pas prendre le risque de faire quelque chose qui pourrait prendre 2 à 12 secondes pour le sauver.

Éduquez vos utilisateurs en mettant une bannière avec des instructions

  1. Ouvrez un onglet qui ne menacerait pas leur propre vie (par exemple google.com, msn.com, yahoo.com)
  2. Ouvrez un autre onglet avec votre site
  3. Naviguez normalement sur votre site
  4. En cas d'urgence, appuyez Ctrl+Wsur Google Chrome, IE , Firefox, Opera (veuillez confirmer pour les autres principaux navigateurs)

Si vous avez toute l'idée, appuyez sur ctrl + w par rapport à votre solution prévue, je peux certainement vous garantir que ce Ctrl+Wsera plus rapide.

Lee Gary
la source
3
quant à l'historique, il y a le mode In-Private pour IE et le mode Incognito pour Chrome
Lee Gary
7
Je pense que c'est une bonne idée, car c'est définitivement plus rapide / plus sûr, mais ce n'est pas un remplacement pour un bouton de panique. Vous ne pouvez pas vous attendre à ce que tous les visiteurs aient lu et compris votre didacticiel, surtout s'il est là pour la première fois. Je pense qu'OP devrait avoir à la fois un tutoriel sur les techniques de navigation sécurisée et un bouton de panique.
NicolasMoise
42
Le public cible n'est clairement pas très averti en technologie et se trouve dans une situation très émotionnelle / stressée. Éduquer sur la façon d'utiliser un navigateur de la manière la plus furtive (probablement dans une langue qu'ils ne parlent pas très bien) est actuellement leur moindre préoccupation. Et que font-ils si, à ce moment précis, ils sont éduqués, quelqu'un entre? Bien que ce soit certainement une bonne idée en général pour eux de savoir par exemple ctrl-w, pouvez-vous garantir qu'ils se souviennent? Un "bouton de panique" très visible est une aide efficace et intuitive que vous pouvez leur apporter. Tout le reste ne peut être qu'addition.
PlasmaHH
16
Je ne sais pas pourquoi cela a été voté. Cette réponse est ridicule, alors qu'il serait bien que tout le monde connaisse des techniques de navigation sûres appropriées. Vous ne pouvez pas vous attendre à ce que quelqu'un qui est dans un état de détresse et qui visite probablement votre site pour la première fois le sache / le lit / le comprenne.
11
Je ne comprends honnêtement pas pourquoi cela a été voté. C'est une réponse terrible et hors sujet qui introduit une complexité supplémentaire inutile à la question originale d'OP. Une meilleure suggestion serait une bannière plus grande et plus explicite, pas un onglet supplémentaire. Arrêtez de penser à ce problème du point de vue d'un développeur expérimenté ou d'un super-utilisateur qui maîtrise les raccourcis clavier. Ma mère s'en fiche, ou plus explicitement, ne comprendra pas les raccourcis clavier, et c'est précisément à qui il s'adresse.
theGreenCabbage
23

Cette réponse suppose que l'historique et la barre d'adresses ne sont pas un problème. Du moins, pas immédiatement.

Scénario

Julie est victime de violence conjugale. Elle est sur Internet à la recherche d'aide et elle vient sur votre site Web: http://www.crisisprevention.com (fictif pour cette réponse)

En parcourant votre site, elle entend son conjoint s'approcher rapidement de la pièce. Elle panique. Heureusement, vous avez un joli gros bouton, fixé à la page pendant qu'elle défile.

Elle clique sur ce bouton et ...

Cela l'emmène sur Google.com

Je n'aime pas cette approche pour la raison suivante: personne ne va croire que vous êtes simplement assis devant votre ordinateur à regarder l'invite de recherche Google. Crois moi. Je l'ai déjà essayé.

J'avais l'habitude de garder un onglet ouvert avec l'invite Google, et si je naviguais hors du sujet au travail, je passais à l'onglet Google pour que personne ne soit plus sage. Cela a fonctionné ... en quelque sorte. Jusqu'à ce que les gens commencent à se demander pourquoi je regardais l'écran de recherche Google toute la journée.

Depuis, j'ai commencé à ouvrir un onglet avec divers projets de travail dans différents états. Habituellement, je travaille de toute façon entre la navigation. Donc, maintenant, je fais du travail! Il ne faut pas un génie de la technologie pour comprendre cette approche, c'est pourquoi la réponse de @ LeeGary est peut-être la meilleure.

Ça la prend ... ça la prend encore ... oh problèmes de connexion Internet

Voici une réalité à laquelle vous devez vous préparer. Peut-être que la connexion Internet est interrompue au moment où elle panique. Le contenu actuel reste affiché sur la page pendant qu'elle attend la requête HTTP GET pour obtenir le contenu dont elle peut commencer le rendu ... seulement, aucun contenu n'est en cours de récupération. La connexion Internet est déconnectée. Cela peut se produire pour un certain nombre de raisons:

  • Le conjoint l'a déconnecté.
  • Le serveur contacté est soumis à une charge extrême.
  • Le navigateur est timide sur la mémoire.
  • Le FAI a des problèmes.
  • Connexion / déconnexion par ligne commutée (oui, elles existent toujours).
  • L'ordinateur est juste lent.
  • Le serveur DNS est en panne.

Les raisons continuent et pourquoi le navigateur peut s'étouffer lorsqu'elle appuie sur le bouton de panique et tente de la déplacer vers un nouveau site.

Servir un site Web alternatif instantanément

Ma solution vous propose de précharger un site web en arrière-plan de votre site. Chargez-le dans un <div>et cachez-le derrière votre site normal. Si c'est un gros morceau de contenu, vous pouvez envisager de le cacher avec z-indexau lieu de display: none. De cette façon, il sera pré-rendu ( je crois, pourrait être faux ici ).

Maintenant, peu importe si sa connexion Internet est coupée. Elle a déjà le contenu. Il n'y a pas de latence impliquée avec une requête HTTP GET. Il s'affiche simplement immédiatement.

Si la barre d'adresse est un problème, vous pourrez peut-être encore l'atténuer en proposant un site Web alternatif qui correspond à votre domaine.

Par exemple, prenez le domaine fictif (pour cette réponse): http://www.crisisprevention.com

Vous pourriez servir un article alternatif sur la résolution de la crise de la faim dans le monde.

L'idée ici est que c'est le premier coup d'œil initial qui est le plus accablant. Lorsque le conjoint entre et qu'il la voit se diriger vers Google.com, avec ce regard paniqué à son sujet, il va soupçonner que quelque chose se passe et être plus enclin à enquêter. De même, cela pourrait être encore pire si elle était prise en train d'essayer de cacher ses actions parce que la requête HTTP GET était lente ou échouait.

écraser
la source
3
Ce serait bien si le site Web alternatif pouvait avoir le même aspect et la même sensation que le vrai site Web: couleurs, mise en page. Donc, si l'agresseur voyait le site du coin de l'œil en entrant dans la pièce, il semblerait simplement clignoter un peu - pour ne pas changer de site.
micapam
J'aime ce processus de réflexion. Je voudrais ajouter une pensée selon laquelle nous aurions besoin d'utiliser JavaScript pour déclencher la bascule, nous devrions donc avoir une option de sauvegarde pour la possibilité (même si elle est insignifiante) qu'il y ait une erreur JS ou si JS est désactivé pour avoir un ensemble href réel sur le lien pour qu'il aille quelque part au lieu de se ré-ancrer en haut de la page (puis retourne simplement false sur l'événement de clic dans JS).
GreatBlakes
1
Du point de vue du design (en réponse au micapam), je suis entièrement d'accord, et ajouterais que les concepteurs créant des sites où un bouton de panique est nécessaire devraient éviter les couleurs qui se détachent (saturation et unicité) et utiliser des tons secondaires blanc / gris clair avec une nuance de couleur primaire neutre / commune.
GreatBlakes
16

Il y a de gros problèmes avec le bouton panique:

  • il est difficile de cliquer dessus (il faut être précis)
  • il faut du temps pour le sélectionner (et énormément de temps si vous êtes sur un ordinateur portable sans souris)
  • ça vous sauve dans l'histoire
  • il est accessible via le bouton retour / retour arrière.

Et que dire des mouvements aléatoires paniqués d'une femme qui essaie de cliquer rapidement sur ce bouton, alors qu'elle lisait ceci. Et si elle manquait le bouton dès la première tentative?

Donc, s'il y a vraiment des vies humaines qui pourraient être sauvées, c'est une sorte de mauvaise idée.

La meilleure façon est de leur montrer la manière normale de le faire (via une sorte d'aide avant de pouvoir éventuellement accéder à ce site). Cela peut être quelque chose comme ceci:

En fonction du navigateur d'un utilisateur, vous leur donnez une liste d'étapes à faire qui n'utilisent que le clavier (pas de souris du tout). Par exemple si elle est sur chrome.

  1. ouvrez un site Web que vous aimez (FB, twitter, drôles de lapins et faites semblant de faire quelque chose).
  2. Appuyez sur CRTL + SHIFT + N (ouvre la fenêtre de navigation privée) qui ne permettra pas les astuces de retour arrière / historique
  3. entrez sur notre site là-bas (pas de copypast pour éviter de vérifier ce qu'il y a à l'intérieur de votre tampon)
  4. Lisez les trucs et gardez toujours vos mains sur le clavier près de CRTL et W
  5. En cas d'urgence, appuyez sur CRTL + W
  6. Continuez à jouer sur votre FB, Twitter, drôle de lapin

Vous devez sûrement modifier votre explication dans la langue appropriée. Mais de cette façon, il est vraiment difficile de se faire prendre. Parlez également de vous asseoir à côté de miroirs et d'autres surfaces de réflexion comme des fenêtres, des lunettes et d'autres choses. Demandez-leur d'essayer d'utiliser ces combinaisons pendant un certain temps pour se familiariser.

Si des vies humaines sont impliquées, vous devez être professionnel et ne pas utiliser ces boutons de panique. Surtout s'il est si facile d'enseigner aux gens comment le faire plus rapidement et plus en toute sécurité.

Réponse à Nobius

Je vous ai fait remarquer, merci. Mais je ne suis pas d'accord avec votre argument. Après une longue campagne pour qu'il soit mis sur FB, l'avez-vous réellement vu sur FB? Je n'ai pas. Les non-techniciens sont connus pour avoir proposé des idées ridiculement mauvaises, dont certaines pourraient être éprouvées (empêcher le clic droit sur les pages des banques pour améliorer la sécurité, les mots de passe à 4 chiffres pour être plus faciles à taper à partir des téléphones mobiles). Appuyer sur un bouton semble plus facile, mais regardez ma liste d'étapes - la seule chose que vous devez faire dans une situation stressante est d'appuyer sur CTRL + W. Vous n'avez pas besoin de penser en termes d'onglets, de modes et autres. Cela revient au modèle de base - voir quelqu'un, appuyez sur CTRL + W. À mon avis, ce n'est pas du tout difficile et facile à retenir. Il n'est de loin pas plus difficile que de se rappeler de cliquer sur le bouton. Tout le reste, vous devez lire dans une atmosphère normale.

Appuyer sur 2 boutons est BEAUCOUP plus rapide que déplacer la souris, et il est vraiment difficile de les rater lorsque vos doigts sont dessus (faites une expérience et mettez-vous en pleine situation de stress et essayez de cliquer rapidement sur ce bouton). Aussi, comme je l'ai mentionné - je vois au moins quatre raisons pour lesquelles quelque chose peut mal tourner dans une panic buttonsituation, alors que je vois beaucoup moins dans les raisons dans CRTL + W. Si des vies humaines sont impliquées, vous devez être professionnel.

Réponse à NicolasMoise . Pourquoi les gens continuent de dire que vous devez être doué pour la technologie pour appuyer sur CTRL + W? Je n'essaye pas de montrer aux gens comment utiliser TOR, VPN, configurer un canal de cryptage. C'est juste CTRL + W. Les gens ont appris à jouer aux oiseaux en colère pour perdre leur temps (ce qui est beaucoup plus difficile que de se souvenir de 2 boutons), afin que les gens puissent apprendre CRTL + W pour sauver leur vie. Le tutoriel peut être montré de telle manière que l'observateur ne puisse pas comprendre pourquoi vous lisez ceci (quand vous voyez ma liste d'étapes, je ne crois pas que la première hypothèse serait - ah c'est pour le site d'abus de femmes).

Mais il est très probablement préférable de donner aux gens une fausse sécurité. La réponse n'est pas hors sujet. La personne demande comment mettre en œuvre le bouton de panique - et j'explique pourquoi la méthode actuelle est défectueuse et que peut-elle faire pour mieux le faire. C'est au même niveau que «Je veux sécuriser la communication et j'utilise un chiffrement de substitution», oui vous pouvez améliorer la vitesse de son chiffrement et faire semblant que tout va bien, ou vous pouvez montrer une autre façon.

Une dernière tentative pour expliquer mon point supplémentaire : vous devez bien expliquer aux gens les risques derrière votre approche. Le problème des blogueurs biélorusses, qui pensaient que publier de manière anonyme sur Internet les rendrait introuvables à cause des répressions gouvernementales, est un bon exemple lorsque les gens souffrent de ne pas expliquer correctement les problèmes. La ressource leur a fait croire à tort qu'ils sont sauvés s'ils ne fournissent pas leur véritable identité. Ils ont appris que ce n'est pas vrai à la dure (lorsqu'ils ont été emprisonnés pendant quelques années).

Si quelqu'un leur expliquait le risque, je pense que certains d'entre eux seraient heureux d'apprendre à utiliser n'importe quel outil pour sauver leurs cinq prochaines années.

Alors pourquoi ne pas donner aux femmes quelques options:

  • vous pouvez utiliser l'approche A tout de suite, et voici la liste des problèmes que vous pouvez rencontrer.
  • vous pouvez utiliser l'approche B, qui nécessite X minutes la première fois pour lire et comprendre quelque chose. Et puis votre liste de problèmes possibles diminue à une liste plus petite.

Et laissez-les décider de ce qu'ils veulent faire. De cette façon, ils connaissent les risques.

Salvador Dali
la source
14
Je n'ai pas voté contre mais je ne suis pas d'accord avec votre affirmation selon laquelle c'est ridicule. Un bouton Panic était quelque chose pour lequel beaucoup d'organisations caritatives et de députés britanniques ont fait campagne pour être mis sur Facebook pour les adolescents qui étaient victimes d'intimidation en ligne et ne savaient pas à qui obtenir de l'aide. Appuyer sur un bouton est beaucoup plus facile à faire dans une situation stressante que de devoir mémoriser une longue séquence d'étapes à l'avance et s'attendre à ce que rien ne se passe mal lorsque la situation se présente.
Nobilis
2
@Mark eh bien, OP a dit que c'était basique :) Mais j'essaie de souligner que le concept est connu, familier et à mon avis mieux adapté aux non-techniciens. Vous savez ce qu'est un bouton et vous appuyez dessus. Penser en termes d'onglets, de modes privés et de raccourcis clavier est sans doute plus compliqué et moins familier aux personnes qui ne peuvent naviguer qu'occasionnellement sur le Web.
Nobilis
2
@Salvador Cette réponse est hors sujet. C'est comme: "Oh, vous êtes dans une relation abusive et quelqu'un surveille chacun de vos mouvements, pourquoi ne pas prendre le temps de lire et de comprendre ce long tutoriel sur les techniques de navigation appropriées afin que vous soyez en sécurité la prochaine fois que vous visiterez le site (que suppose que vous n'avez pas été surpris en train de lire le tutoriel) ". Tout système qui suppose que tous ses utilisateurs connaissent la technologie échouera inévitablement. Encore une fois, nous ne disons pas que votre méthode est mauvaise ou lente (elle est en fait plus rapide et plus sûre), mais vous ne pouvez pas vous attendre à ce que tous les visiteurs le sachent, et c'est pourquoi vous avez besoin d'un bouton de panique.
NicolasMoise
4
Aucune offense, mais je ne pense pas que vous compreniez le point que moi et Nobilis essayons de faire valoir. Vous dites que Ctrl + W est plus rapide / plus sûr, je suis d'accord. Là où nous ne sommes pas d'accord, c'est que vous ne pouvez pas vous attendre à ce que chaque visiteur sache ou se souvienne de Ctrl + W simplement parce que vous l'avez mentionné quelque part sur votre site. De plus, OP a spécifiquement demandé un bouton de panique.
NicolasMoise
1
@NicolasMoise Je pense que la bonne façon de faire serait une étude théorique pour découvrir comment les gens se comportent en situation et pour comparer deux approches. Avec le bouton et avec CTRL + W. Voyez à quelle vitesse les gens peuvent apprendre en appuyant sur CTRL + W (c'est peut-être vraiment difficile, et je ne peux pas le comprendre). Et puis pour voir le pourcentage d'échecs. Si vous pensez que c'est une nécessité - pourquoi ne pas dire aux gens le risque derrière cette nécessité. Ils pourraient supposer que le bouton de panique est complètement sans échec et seraient vraiment surpris si quelqu'un pouvait montrer qu'avec un retour arrière, vous pouvez voir ce qu'ils faisaient.
Salvador Dali
10

Je pense que vous avez encore un long chemin à parcourir.

La raison d’envoyer des personnes sur la page Google est

  1. ça charge très vite
  2. il est susceptible d'être mis en cache de toute façon
  3. ça rend très vite
  4. c'est vraiment bien optimisé
  5. ai-je mentionné que c'est rapide?

Le lien que vous avez fourni est lent.

Si vous souhaitez fournir un moyen rapide de changer d'écran, ouvrez votre site dans un jeu de cadres - avec la cape dans un cadre de hauteur 0 et votre site dans un cadre de pleine hauteur. Ensuite, lorsque l'utilisateur clique sur le lien, permutez autour des hauteurs du cadre et redirigez vers la fenêtre de niveau supérieur vers la page déjà chargée.

symcbean
la source
Je ne pense pas que Google tolère d'être chargé dans un cadre, mais j'aime l'idée de la cape de changement de cadre.
David dit de réintégrer Monica
Ce n'est pas une mauvaise idée, un problème que je vois cependant est que l'URL resterait la même.
NicolasMoise
C'est toujours comme 2-3 secondes (peut-être plus sur Internet lent), même avec un cache chaud.
Petah
@David: l'OP ne voulait pas utiliser Google.
symcbean
@NicolasMoise: pas l'url dans la barre d'adresse change dès que vous
émettez
5

J'étends un peu la portée de la question, car cliquer sur le bouton de panique garantit que l'utilisateur ne sera pas attrapé.

Il y a de multiples préoccupations dans ce problème qui doivent être émises en fonction du risque et du degré de maîtrise du calcul de l'utilisateur.

En tant que tel, il peut être judicieux de donner à l'utilisateur des connaissances de base en matière de sécurité de la manière la plus conviviale possible. Même si l'utilisateur est soumis à un stress élevé, il est préférable qu'il sache quelles traces il peut laisser derrière lui.

Traces

Historique de navigation

A tout moment que l'utilisateur utilise votre site web sans navigation privée, il laissera des traces très évidentes. Il n'y a pas de moyen approprié de détecter si le navigateur est en cours d'exécution en mode privé, mais vous pouvez avoir un avertissement à l'entrée indiquant qu'il devrait passer en mode privé, ainsi que la suppression de l'historique d'entrée actuel. Vous pouvez préparer des captures d'écran pour que l'utilisateur suive pour supprimer l'historique, (ou si disponible, ne supprimant que l'entrée sur le site)

Biscuits

Si vous utilisez des cookies, la personne suivante peut obtenir ces cookies (même s'ils sont expirés) et peut comprendre que ce site a été utilisé. Si vous le pouvez, utilisez des en-têtes personnalisés pour l'autorisation, qui ne laisseront aucune trace dans l'ordinateur.
Cela peut vous obliger à modifier la structure de l'application, ce qui n'est peut-être pas une bonne idée. Ne définissez les cookies dans le navigateur qu'après vous être assuré que l'utilisateur utilise une session de navigation privée.

Mise en cache

Une personne technophile peut détecter si le site a été visité si vous utilisez la mise en cache en ouvrant la page et en inspectant le réseau. Assurez-vous de demander explicitement au navigateur de ne pas mettre en cache en utilisant ces en-têtes dans vos réponses:

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

Bouton retour

Lors du changement de page, chaque page sera placée dans l'historique actuel (même dans la session de navigation privée), permettant d'utiliser le bouton retour. Si vous le pouvez, utilisez replaceStateà chaque changement de page pour que le bouton de retour soit cassé.

Chiffrement

Utilisez HTTPS pour empêcher les écoutes clandestines. Notez que les requêtes DNS ne seront toujours pas cryptées, mais je ne pense pas que ce sera un problème à moins que l'utilisateur ne divulgue des informations gouvernementales. Si tel est le cas, un site Web ne serait pas assez sûr de toute façon.

En général, ceux-ci devraient être suffisants pour supprimer les traces, assurez-vous également que vous n'utilisez pas d'autres couches de persistance comme localStorage.

Un bouton d'alerte

C'est un problème totalement différent et nous devons inclure plusieurs choses dans notre calcul.
Tout d'abord, s'il s'agit d'un scénario potentiellement mortel, nous devons comprendre que l'utilisateur sera soumis à un stress total lorsqu'il aura besoin de lancer le panic exit. Nous ne savons pas comment l'écran de l'ordinateur est positionné, et nous ne pouvons pas deviner ce que fait l'utilisateur au moment de la panique.

Problèmes de positionnement de l'écran

Le pire des cas serait que l'écran soit positionné de manière à ce que la menace puisse voir (de loin) l'écran et le site. Si tel est le cas, le site doit être conçu de manière à ressembler beaucoup à celui-ci exit siteafin d'éliminer tout soupçon. Passer d'un design différent au blanc Google sera perceptible même si l'écran n'est pas directement visible en comparant simplement les couleurs que l'écran émettait entre deux sites (dans une pièce raisonnablement sombre).

Vitesse de sortie

Si vous effectuez simplement une redirection, il se peut qu'elle ne soit pas assez rapide pour effectuer le changement dans le temps. Vous devez précharger le côté sortie dans une iframe, et en cas de panique, vous devez le mettre en plein écran, puis effectuer la redirection. Cela aidera à la fois à mettre en cache le contenu statique des sites de sortie et à rendre les choses plus rapides. Assurez-vous d'utiliser replaceStateau lieu de la navigation naturelle pour désactiver le bouton de retour.

Itinéraires de sortie

Vous devez vous assurer que les itinéraires de sortie seront disponibles immédiatement et facilement pour l'utilisateur. Je pense que les deux états les plus possibles sont soit l'utilisateur tape , soit l'utilisateur navigue . Ce qui signifie que vous devriez avoir à la fois un raccourci clavier pour quitter et un gros bouton dans votre HTML.

Sortie clavier

Je pense qu'en appuyant deux fois sur la touche ESC devrait le déclencher, ou en tenant l'une des grandes touches devrait (comme espace ou entrée). Dans tous les cas, vous devez en informer l'utilisateur et éventuellement, le laisser s'entraîner en essayant. Essayer les sorties de panique les aidera à anticiper les comportements de panique pour faire un bon raisonnement (avoir le comportement attendu pourrait être soulageant), et ils seront formés pour le faire, de sorte qu'ils seront plus susceptibles de le faire correctement dans la panique. temps.

Sortie de la souris

Cela va être assez simple, avoir un gros bouton de couleur différente qui déclenchera la panique.

Où sortir?

Cela dépend du cas, de par sa conception, il peut être judicieux de faire une redirection vers un site couramment utilisé et de conception similaire par défaut. Il peut également être judicieux de permettre à l'utilisateur de choisir lui-même le site de sortie (après avoir fait une valeur par défaut raisonnable).

Remarques

  • Si l'utilisateur utilise la navigation privée et panique, le navigateur sera toujours en état de navigation privée, ce qui peut éveiller des soupçons. Il n'y a pas de solution facile. Vous pouvez essayer de demander à l'utilisateur d'effacer l'historique par la suite, mais il se peut qu'il ne dispose pas de suffisamment de temps pour cela.
  • La plupart des réponses se concentrent sur les navigateurs de bureau, l'expérience sur un appareil mobile sera différente, mais pas beaucoup.
Umur Kontacı
la source
3
OP a demandé "comment implémenter un bouton de panique" et pourtant les gens semblent répondre avec un tutoriel sur "comment naviguer en toute sécurité sur le Web". C'est tellement pour vous je suppose, ne nous dites pas ce dont vous avez besoin, nous vous le dirons.
4

Évasion fiable

EDIT: Une autre chose qui me vient à l'esprit est que si l'utilisateur a perdu la connectivité Internet, ce qui se produit pour toutes sortes de raisons, y compris quelqu'un qui déconnecte le câble, alors il n'y a aucun moyen de naviguer vers un autre site. Ils pourraient être coincés là comme un cerf dans les phares sur la page "incriminante". Je pense que cela ajoute de la crédibilité à l'idée de naviguer réellement vers un site partenaire / affilié bénin qui à son tour charge votre site dans un iframe directement sur leur page. Tout ce que vous avez à faire pour faire disparaître votre site est de supprimer votre iframe du DOM en utilisant le JavaScript déjà chargé dans l'iframe. Cela fonctionnerait même si la connexion Internet était coupée.

J'activerais la touche Échap pour une sortie rapide. C'est une touche physique bien connue du clavier sur laquelle l'utilisateur peut se faufiler s'il en a besoin, plutôt que de déplacer un pointeur de souris capricieux sur un bouton virtuel et de cliquer.

EDIT: Je viens de réaliser qu'une affiche plus tôt fait mention sur la touche Echap, se référant à lui comme « ESC ». J'ai cherché sur la page "Clé d'échappement" avant d'écrire ma réponse, mais je l'ai ratée.

EDIT: Je laisserais aussi le bouton Panic sur la page, avec le texte "Cliquez ici ou APPUYEZ SUR ÉCHAPPEMENT pour quitter rapidement." Mais j'en mettrais un en haut et un en bas de page. Peut-être que je mettrais une bande tout autour de la page. Si le visiteur clique n'importe où dans cette zone de bordure, votre contenu disparaît.

Considérez également; pour rendre le bouton de panique raisonnablement facile à cliquer dans une situation de panique, vous devrez probablement le rendre un peu surdimensionné et vous assurer qu'il est toujours à l'écran en le déplaçant au fur et à mesure que la page défile, ou en mettant plusieurs boutons de panique sur le page, qui pourrait sembler suspecte en soi. Il semble que ceux-ci veulent probablement être des pages assez discrètes dont vous parlez.

Si vous utilisez jQuery, vous pouvez faire quelque chose comme ce qui suit pour répondre à la touche Échap:

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

Application AJAX à page unique

Il semble que toutes les solutions suggérées consistent à trouver un moyen de naviguer rapidement vers un autre site, soit en le préchargeant et en l'affichant rapidement au-dessus de votre site, soit en effaçant le DOM puis en naviguant, ou peu importe.

Si je devais adopter cette approche, j'aurais une longue liste de sites universellement bénins et de recherches sur les moteurs de recherche que je parcourirais pour que ce ne soit pas la même «recherche de chaussures pour femmes noires» qui apparaisse à chaque fois.

Mais qu'en est-il de renverser tout le concept? Utiliser un ou plusieurs sites leurres bénins, ou même solliciter des sites commerciaux bénins non liés pour héberger un lien d'apparence bénigne, et charger votre site en tant qu'application AJAX d'une seule page dans un iframe en haut de la ou des page (s) hôte (s)?

EDIT: Vous pouvez même le faire en demandant à votre page d'accueil d'indiquer brièvement qu'elle va rediriger le visiteur vers un site partenaire coopératif pour sa propre sécurité et d'afficher un gros bouton "Go" convivial. Si vous avez plusieurs sites partenaires sur lesquels vous pouvez les pousser, tant mieux. Lorsqu'ils cliquent, effacez l'historique du navigateur de votre page, redirigez vers le site affilié avec un paramètre de requête d'URL qui indique à votre JavaScript de démarrage chez l'affilié de charger immédiatement votre iframe. À partir de là, il n'y a plus de charge supplémentaire sur le serveur Web de l'affilié. De cette façon, vous avez une page d'accueil officielle, mais vous obtenez immédiatement le visiteur complètement hors de votre page.

Appuyer sur la touche Échap ou cliquer sur le bouton Panic supprimerait simplement votre iframe du DOM, laissant la page hôte bénigne et aucun historique du navigateur. (Pouf)

Vous pourriez atténuer les problèmes d'historique du navigateur de cette façon, car votre lien exécuterait un peu de code JavaScript de démarrage et vous ne navigueriez jamais du tout dans le navigateur vers votre site.

Lorsque le lien d'amorçage dans la page hôte est cliqué, il insère un iframe dans le DOM, le fait flotter (positionnement absolu et ordre z) pour le positionner en haut de la page hôte, puis effectue un appel AJAX à votre service Web pour récupérer le contenu HTML qu'il chargerait dans le cadre. Tous les liens et / ou boutons supplémentaires dans le cadre feraient également des appels AJAX à votre service, que ce soit pour publier des données sur le serveur ou pour récupérer des données à afficher. Vous ne chargeriez jamais du tout une "page" réelle dans le navigateur de l'utilisateur.

Un autre aspect intéressant de cette approche est que si le navigateur se bloque ou devient instable et doit être fermé à partir du Gestionnaire des tâches, ce qui empêcherait le code de nettoyage de s'exécuter, eh bien cela n'aura pas d'importance car vous n'avez (nécessairement) rien. nettoyer.

Houston ...?

Quelques problèmes graves que je vois avec l' une de ces solutions, en particulier compte tenu du contexte dans lequel la vie peut être en jeu:

  • objets mis en cache (images, principalement) dans le cache du navigateur

  • le routeur / pare-feu enregistre peut-être les requêtes HTTP / HTTPS, et la victime peut ne pas le savoir, et rien de ce que vous faites pour nettoyer le navigateur ne pourra atténuer cela

  • il peut y avoir un logiciel espion keylogging / screencap installé sur la machine de l'utilisateur et rien de ce que vous pouvez faire à partir d'une application de navigateur ne peut atténuer cela

  • les ordinateurs tombent en panne, les navigateurs Web deviennent floconneux et plantent et des traces sont laissées parce que le code de nettoyage ne peut pas s'exécuter.

Comme suggéré par au moins une autre affiche (honnêtement, je n'ai parcouru que brièvement les autres messages), l'utilisation de navigateurs en mode sécurisé devrait atténuer bon nombre de ces scénarios. Mais c'est un problème de formation des utilisateurs et la formation des utilisateurs peut être un peu folle dans les meilleures conditions. Il pourrait être très difficile de faire les choses correctement si les victimes ne sont pas très douées pour la technologie, surtout si elles sont vraiment dans une situation de mode panique où une réflexion calme peut être difficile.

Craig
la source
2

Vous pouvez jeter un œil aux boutons de panique "Boss" sur certains anciens jeux et sites. L'idée est que vous pourriez passer rapidement à quelque chose d'innocent si votre patron venait (bien sûr, vous devez le voir approcher en premier!).

Presque toute action précipitée / frénétique lorsque l'agresseur arrive va éveiller leurs soupçons. Envisagez de concevoir les écrans de manière à ce qu'ils ressemblent à des informations générales ou similaires (à distance), sans grands titres ou images révélant leur objectif. Cela pourrait souvent laisser le temps de sortir "tranquillement" du site, sans panique. Si le lien du bouton de panique amène l'utilisateur vers, par exemple, un site d'actualités de bonne foi, tant mieux (s'il apparaît assez rapidement).

Comme d'autres l'ont mentionné, si l'agresseur devient suspect (et de nombreux maniaques du contrôle le sont), il y a toujours une piste d'historique sur le navigateur qui leur permet de savoir rapidement où se trouve l'utilisateur. Franchement, vous ne pouvez pas faire grand chose, surtout si l'utilisateur entre dans un mode panique frénétique essayant de couvrir ses traces, et l'agresseur le voit. Même si l'écran lui-même peut être actualisé à quelque chose d'innocent après un certain délai, l'historique du navigateur aura l'URL.

Envisagez de conseiller aux utilisateurs de positionner l'ordinateur de sorte que l'agresseur ne puisse pas se faufiler dessus par derrière, ou d'aller dans une bibliothèque ou tout autre endroit non privé pour utiliser ce site. Si le contenu de l'écran est terne à distance (voir ci-dessus), il ne devrait pas susciter l'intérêt des autres.

Bonne chance!

Phil Perry
la source
ma réponse traite en quelque sorte du problème de l'historique du navigateur (ce n'est pas parfait cependant et peut probablement être amélioré)
NicolasMoise
2

Vous pouvez afficher une page d'erreur au lieu d'un site réel, qui est déjà chargé en arrière-plan. Peut-être une fausse page youtube ou google 404? Je pense que cela réduirait au minimum la taille du contenu supplémentaire.

Comme d'autres l'ont suggéré, j'utiliserais également la touche d'échappement. Réduit le changement de manquer, serait beaucoup plus facile pour quelqu'un avec un tapis de souris et l'utilisateur peut garder son doigt dessus quand il / elle ne fait que naviguer sur le site.

Vous pouvez également utiliser d'autres options; un bouton sur la page elle-même ou leur faire connaître d'autres méthodes d'échappement (ctrl + w, comme mentionné précédemment). Peut-être aussi un geste pour les utilisateurs de la tablette? Il existe probablement des bibliothèques pour cela.

Et bien sûr, vous pouvez modifier l'URL dans la barre des tâches. (Voir d'autres articles pour le code sur la façon de faire cela).

Encouragez-les à essayer les options d'évasion. Ils savent donc ce qu'ils font et comment ils peuvent y réagir.

Arno
la source
0

Je pense que nous pouvons faire cela différemment. Mon idée est la suivante:

  1. Afficher le site Web avec uniquement du faux contenu (style et mise en page similaires au vrai).
  2. L'utilisateur doit effectuer certaines interactions avec le contenu pour déclencher l'étape 3 (par exemple, mettre XYZ dans une zone de texte ou avoir cliqué sur une combinaison de Case à cocher ou RadioButton, etc.).
  3. Une fois l'étape 2 satisfaite, lorsque l'utilisateur perd un certain point minuscule sur la page (côté droit), la page affichera son contenu réel. Et le contenu restera si la souris est dessus.
  4. En cas d'urgence / panique, l'utilisateur peut simplement éloigner la souris du contenu réel et le contenu sera changé pour le faux.
Bolu
la source
... tout en tenant un sac de fruits sur la tête et en chantant "ancres loin", sinon le vrai contenu ne sera pas montré ...
Craig
@Craig, vous avez l'idée ...
Bolu