Ein Leser schrieb mir eine wirklich interessante und wichtige Frage. Die Antwort könnte Menschen vor Schaden bewahren oder buchstäblich Leben retten.
Ich gestalte eine Website für Opfer häuslicher Gewalt neu. Die Leiterin des Programms möchte, dass ich eine Schaltfläche einfüge, auf die Opfer klicken können, um das Fenster auszublenden, falls sie ertappt werden. Ich weiß nicht, welche Optionen mir für so etwas zur Verfügung stehen. Haben Sie Vorschläge?
Als Erstes dachte ich an die eigentliche Technik: Kann man ein Fenster per Mausklick schließen? Es gibt eine window.close() Methode, also würde das vielleicht funktionieren?
<button onclick="window.close();">Close Window</button>
Nein. Darauf können wir uns nicht verlassen. Das schließt nur ein Fenster, das mit JavaScript geöffnet wurde, was bei einer typischen Website nicht der Fall ist.
Aber wollten wir das überhaupt tun? Haben Sie jemals jemanden am Computer beobachtet, der seine Browserfenster schließt, sobald Sie sich nähern? Selbst wenn es ein Zufall ist, sieht es ziemlich verdächtig aus, oder? Ich denke, in diesem Fall sollten wir Misstrauen besonders vermeiden.
Eine einfachere und weniger verdächtige Aktion wäre, die Seite auf etwas Allgemeines und Harmloses umzuleiten, wie zum Beispiel wetter.com. Ein weiterer Vorteil ist, dass Sie sich darauf verlassen können, dass es in jedem Browser funktioniert.
<button onclick="window.location = 'http://weather.com';">Go</button>
Aber wir können es noch etwas besser machen. Was, wenn der Täter, der hereinkommt, der plötzliche Wechsel der Websites durch das Opfer als verdächtig empfindet. Vielleicht versuchen sie, das Opfer zu zwingen, die Zurück-Schaltfläche zu drücken, um zu sehen, was sie sich angesehen haben, oder tun es selbst. Um dies zu vermeiden, sollten wir den Link nach Möglichkeit in einem neuen Tab öffnen, der frei von direkter Browser-Historie ist.
Wenn wir das JavaScript von der Schaltfläche selbst abstrahieren, erhalten wir Folgendes:
<button id="get-away">Go</button>
$("#get-away").on("click", function() {
window.open("http://weather.com", "_newtab");
});
Der neue Tab hat keine direkte Browser-Historie, sodass das Drücken der Zurück-Schaltfläche nichts bewirkt. Das ist gut, aber das Öffnen eines neuen Tabs sieht etwas anders aus als nur das Wechseln der Seiten. Wenn der Täter das bemerkt, klickt er vielleicht zurück zum letzten Tab und sieht, was dort war. Wir können versuchen, uns davor zu schützen, indem wir auch den Speicherort der ursprünglichen Seite ändern
$("#get-away").on("click", function() {
window.open("http://weather.com", "_newtab");
window.location.replace('http://google.com');
});
Durch das Ersetzen der URL auf der ursprünglichen Seite wird kein neuer Eintrag in der Browser-Historie hinzugefügt. Die Zurück-Schaltfläche geht also zur Seite davor zurück. Wenn das Opfer auf der ursprünglichen Website etwas herumgesurft hat, kehrt die Zurück-Schaltfläche leider zu diesen Seiten zurück. Vielleicht könnte die ursprüngliche Website eine Art Ajax-Seitenladevorgang verwenden, der die Browser-Historie nicht beeinflusst, um dieses Problem zu verhindern. Soweit ich weiß und recherchiert habe, gibt es keine Möglichkeit, die Browser-Historie vollständig über JavaScript zu löschen.
Eine weitere Überlegung ist die Position, der Stil und der Inhalt dieser "Flucht"-Schaltfläche. Sie können die Browser-Historie bereits manuell löschen, Websites wechseln, neue Tabs öffnen und Browserfenster schließen. Der Punkt hier ist, es in einer Notfallsituation sehr schnell zu tun. Eine kleine, irgendwo auf einer Seite versteckte Schaltfläche nützt da nicht viel, zumal das Opfer nicht die verinnerlichte Muskel-Erinnerung hat, schnell zu dieser Schaltfläche zu gelangen. Sie werden wahrscheinlich eher Steuerelemente verwenden, die sie häufiger verwenden, wie die Schaltfläche zum Schließen des Fensters.
Designtechnisch halte ich den besten Plan für groß, offensichtlich und persistent.

Diese große grüne Leiste wäre eine fest positionierte Leiste über die gesamte Breite. Sie haftet also unabhängig davon am unteren Rand der Seite. Der Text "Go" ist einfach, beschreibend und nicht verdächtig (Das Wort "Go" wird überall im Web verwendet). Die grüne Farbe passt zum Wort "Go" und ist kein Gefahrenindikator.
Es gibt auch einen Fragezeichen-Link darin, der auf eine Seite verlinken könnte, die erklärt, wofür diese riesige seltsame Leiste da ist.
Das ist soweit gut, aber trotz des riesigen Ziels kann das Bewegen der Maus etwas ungeschickt und langsam sein. Vielleicht tippt das Opfer gerade etwas, als der Täter hereinkommt. Wir könnten eine Tastenkombination bereitstellen, um dasselbe zu tun, was das Klicken auf die Leiste tun würde. Die
Da wir ähnliche Aktionen auf zwei verschiedene Arten auslösen müssen (Tastendruck oder Klick), ist es Zeit, die Funktionalität in eine Funktion zu abstrahieren, um Wiederholungen zu vermeiden.
function getAway() {
// Get away right now
window.open("http://weather.com", "_newtab");
// Replace current site with another benign site
window.location.replace('http://google.com');
}
$(function() {
$("#get-away").on("click", function(e) {
getAway();
});
$("#get-away a").on("click", function(e) {
// allow the (?) link to work
e.stopPropagation();
});
$(document).keyup(function(e) {
if (e.keyCode == 27) { // escape key
getAway();
}
});
});
Der neue Tastendruck "escape" funktioniert in Chrome und Opera identisch. In Safari öffnet sich ein neuer Tab und ersetzt die alte Seite, aber der neue Tab ist leer (offenbar kann man in Safari kein neues Fenster mit einem Speicherort per Tastendruck öffnen). Firefox ersetzt die aktuelle Seite sofort, blockiert das Popup jedoch standardmäßig, es sei denn, Sie erlauben sie explizit auf der Website.
Beachten Sie, dass ich das "keyup"-Ereignis verwendet habe. Es ist verlockend, "keydown" zu verwenden, um es etwas unmittelbarer zu machen, aber leider löst IE bei einem "keydown" der Escape-Taste keinen keyCode von 27 aus.
Was denken Sie, Leute? Wird das so gut wie möglich abdecken? Haben Sie bessere Ideen, um Opfern häuslicher Gewalt eine schnelle, getarnte Flucht von einer Website zu ermöglichen?
Gute Anmerkungen aus den Kommentaren
Echte Websitemit einer Fluchtmethode. Entfernt.- Diese Seite blendet den gesamten Body aus, wenn Sie die Flucht einleiten (z. B.
$("body").hide();). Auf diese Weise erfolgt das Ausblenden sofort, anstatt auf das Laden der nächsten Seite zu warten. - Benutzer über privates Surfen aufzuklären, ist klug (z. B. Chrome’s "Inkognito"-Modus)
- Das Ändern des Textes auf der Seite (z. B. zu zufälligem Zeug aus Wikipedia) könnte eine weniger auffällige Änderung sein. Falls beispielsweise die Website, auf die umgeleitet wird, zu stark von der ursprünglichen abweicht und möglicherweise mehr/weniger Licht vom Bildschirm abgibt.
- Das Laden der Seite in einem Iframe würde das Hinzufügen zur Browser-Historie verhindern, auf Kosten der Benutzerfreundlichkeit.
- Wenn Sie Inaktivität erkennen können, leiten Sie die Seite nach einer angemessenen Zeit automatisch um. Für den Fall, dass das Opfer die Seite versehentlich auf dem Computer geöffnet lässt.
- Da Sie die Browser-Historie nicht löschen können, sollten Sie vielleicht eine Menge harmloser Inhalte in die Browser-Historie werfen, um ältere Sachen zu vergraben.
Rock on!
Scheiße, Kumpel. Legitime Sache.
Das ist wirklich interessant. Sie könnten jQuery verwenden, um eine Reihe von Klassen in Tags zu injizieren. So etwas wie 'safety' und dann in CSS einen Inhalt:"." zuweisen.
Alternativ könnte man eine reine Textversion der Website haben, die ausgeblendet werden kann, bis der Panikknopf gedrückt wird. Dann verschwindet der gesamte ursprüngliche Inhalt und wird durch "Safe Mode"-Inhalt ersetzt.
Obwohl sich das ein bisschen schmutzig anfühlt.
Es wäre cool, wenn die Escape-Taste auch die Informationen der Website aus der Browser-Historie löschen würde.
Fantastisch. Das ist sehr interessant und könnte für viele sensible Inhalte und verschiedene Arten von Websites funktionieren. Nun, zählen wir sie nicht auf... Ich denke gerne, dass es hier und da in den konservativsten Kulturen und Ländern ein Leben retten kann.
...und ich wette, dass die "esc"-Option die schnellste und einfachste ist. Beim Versuch, in Panik auf eine Schaltfläche auf dem Bildschirm zu zeigen und zu klicken, wird das keine schöne Erfahrung sein.
Guter Artikel! Danke.
Hier ist ein Beispiel, das mein Team vor ein paar Jahren für eine Website über sexuelle Übergriffe entwickelt hat: http://sara-mn.org/
Der Code, den unser Team verwendet hat, falls es jemanden interessiert
Gute Sache! Gibt es bei Ihrer Lösung Cross-Browser-Probleme, die denen ähneln, die Chris erwähnt hat?
Irgendwelche Gedanken zur Änderung der Seitentitel? Zu großer SEO-Einfluss? SARA ist großartig, aber ich wäre etwas besorgt wegen des Teils "Unterstützung für Überlebende sexueller Übergriffe" ;)
Ihre Arbeit sieht in der Tat gut aus: großer alter Knopf, der zu Google führt, keine Historie, die zurückgeht. Meine einzige Sorge betrifft die Position dieses Notfallknopfs.
Ich denke, es wäre sinnvoller, ihn am unteren Rand der Seite zu platzieren, hauptsächlich aus zwei Gründen
– er wäre für niemanden im Raum weniger sichtbar, da unsere Schultern den unteren Teil des Bildschirms meist verdecken.
– er wäre einfacher anzuklicken, da wir von oben nach unten lesen und wir die Maus beim Scrollen am unteren Rand des Bildschirms platzieren.
Was denkst du?
Schön, hier etwas vom Nerdery 24-Stunden-Challenge zu sehen! Ich nehme an, dass dies der Fall ist, wenn dies erledigt ist. Gute Arbeit.
Danke für den Code, ich habe gerade ein Chrome-Plugin für mich selbst basierend auf Ihrer Idee erstellt ;) Es enthält eine lustig aussehende Sonne, die auf allen Seiten sichtbar ist. Wenn sie nicht zum Ausblenden der Seite verwendet wird, lässt sie die Seite immer noch sonnig aussehen.
Natürlich, warum jQuery für alles verwenden? Habe ich nicht.
Eine Sache jedoch, Sie haben diese Schaltfläche implementiert. Ziemlich cool. Aber wäre es nicht noch sicherer, https auf der Website zu verwenden? Besonders wenn es so etwas wie ein Message Board oder ein Kontaktformular gibt. Sie möchten nicht, dass das zu leicht ausspioniert wird.
Keine direkte Antwort, aber ich würde den Benutzern auch empfehlen, den "privaten" oder "Inkognito"-Modus zu verwenden, wenn ihr Browser dies unterstützt.
Ich stimme dem zu. Die Aufklärung des Benutzers über Optionen zum privaten Surfen in Kombination mit dem Erlernen von Tastenkombinationen zum schnellen Schließen des Fensters ist eine gute Präventivmaßnahme.
Öffnen Sie ein Firefox-Fenster mit etwas Harmlosen im Hintergrund, öffnen Sie dann ein Chrome-Inkognito-Fenster, und alles, was Sie brauchen, ist ein schnelles Cmd-Q (auf einem Mac), und alle Spuren sind verschwunden.
Das ist weniger eine Lösung als vielmehr etwas, das man im Hinterkopf behalten sollte.
Mobiles Surfen ist oft eine viel privatere Erfahrung und könnte für eine Website wie diese sehr wichtig sein
Eine ausgezeichnete und zugängliche mobile Website würde Opfern helfen, schnell und an einem sicheren Ort Hilfe zu suchen.
Das ist ein guter Punkt.
Ich denke, es ist ein ebenso legitimes Problem für mobile Browser und frage mich, ob die Lösung dort genauso gut funktioniert. Menschen, die auf ihren Mobilgeräten surfen, werden nicht weniger wahrscheinlich dazu gezwungen, ihre Telefone aus der Hand gerissen zu bekommen und ihre Browser-Historien zu inspizieren.
@Christopher: Es kommt nicht oft vor, dass ein Täter sein Opfer in derselben Toilettenkabine begleitet, wo viele Menschen das Internet ihres Telefons nutzen. Wills Standpunkt ist immer noch gültig, aber nicht als Gesamtlösung.
Großartige Lösung; ich frage mich, ob es helfen würde, die Hotkey-Taste auf eine zentralere Taste auf der Tastatur zu ändern? Es dauert etwas länger, die Hand zur ESC-Taste zu bewegen, da sie nicht auf natürliche Weise dort ruht. (Obwohl man argumentieren kann, dass der Benutzer lernen kann, die Hand auf die Escape-Taste zu legen.)
Was wäre, wenn die Schaltfläche einfach den Textinhalt der aktuellen sensiblen Seite in etwas Harmloses ändert, wie zum Beispiel das Einziehen von Text aus einem Wikipedia-Artikel über Kopfschmerzen oder so etwas. Durch das Ändern des Textes wäre die Änderung des Erscheinungsbilds der Website beim Klicken auf die Schaltfläche weniger drastisch, sodass die Wahrscheinlichkeit geringer ist, dass jemand anderes die schnelle Änderung "bemerkt".
Sie könnten das mit einer URL-Änderung vom Typ "History API" kombinieren, die den Inhaltsabschnitt der URL in etwas Harmloseres ändert. Die Domain könnte nicht geändert werden, aber zumindest der Inhaltsteil könnte mit dem angezeigten harmlosen Inhalt übereinstimmen. Und es ist auch ähnlich resistent gegen die "Zurück-Schaltfläche".
Ich verstehe die Wichtigkeit dieses Falls und möchte ihn nicht auf die leichte Schulter nehmen, aber es fällt mir auf, dass ähnliche Techniken in Fällen wie Sport-Websites während March Madness usw. verwendet werden können. Es gibt bereits viele "Boss-Button"-Techniken wie diese, also können wir uns vielleicht von ihnen inspirieren lassen.
Ich dachte an etwas Ähnliches. Vielleicht so weit gehen, dass man ein "harmloses" Website-Furnier hat, aus dem man mit JS im Handumdrehen auswerfen kann, und dann das interne Surfen über nicht nachverfolgbare Ajax-Anfragen durchführt?
Um den Inhalt sofort zu ändern, müsste man wahrscheinlich display:none verwenden, was bedeutet, dass die angeforderte Seite wahrscheinlich aufgebläht wird. Wenn das kein Problem ist, legen Sie los, aber für mobile Benutzer ist es oft ein Problem.
Der einzige Nachteil, den ich bei
window.location.replacesehe, ist, dass die vorherige Seite in der Historie entweder immer noch dieselbe Website ist (wenn sie mehrere Seiten angesehen haben) oder, was noch schlimmer ist, etwas wie eine Google-Suchergebnisseite für eine Suche nach häuslicher Gewalt sein könnte.Ich bin mir nicht sicher, ob es eine perfekte Lösung gibt, aber das sieht nach einem nützlichen Schritt in Richtung einer besseren aus.
Wenn dies der Fall ist, sollte der Entwickler der Website in Betracht ziehen, sie als Single-Page-Design zu gestalten oder Inhalte mit Ajax und ohne Hash-Änderungen zu laden.
Großartige Idee und eine schöne Lösung dort. Anstatt sich vollständig von der Website/Seite zu entfernen, wäre es am unauffälligsten, den gesamten Inhalt der Seite in etwas anderes (Wetter usw.) zu ändern? Also "Escape"-Inhalte haben, die alles auf der Seite ersetzen?
Könnten Sie
$(document).on('keyup keydown', function() { ... });verwenden, damit Nicht-IE-Browser diese leichte Geschwindigkeitsverbesserung erhalten?Die Go-Schaltfläche könnte die Website einfach tarnen und den Titel ändern. Einfach per AJAX eine "sichere" Seite einfügen, um das alte Zeug zu ersetzen. Wenn der Rest der Website ebenfalls mit AJAX versehen ist, würde auch die Zurück-Schaltfläche nichts bewirken. Dies stützt sich jedoch stark auf AJAX.
Wie wäre es mit der Implementierung einer Art "Alive"-Überprüfung?
Der Benutzer muss die Umschalttaste gedrückt halten. Sobald sie losgelassen wird, wird die Bailout-Funktion ausgelöst.
Was wäre, wenn man den Hintergrund der Seite durch ein Bild einer Excel-Tabelle in voller Breite und Höhe ersetzt und die Farbe des gesamten Textes auf transparent setzt? So funktioniert der NCAA Boss Mode für March Madness.
Nette Gedanken, Chris. Das Timing ist interessant, da ich gerade zum ersten Mal auf dieses Feature auf der Website einer New Yorker Organisation gestoßen bin, über die ich mich informierte.
Es sieht so aus, als ob ihre Lösung vor langer Zeit implementiert wurde, weil das Skript nicht mehr funktioniert (obwohl es Sie erfolgreich auf eine neue Website weiterleitet, sodass die Kernfunktion immer noch funktioniert), aber es sieht so aus, als ob das ursprüngliche Konzept darin bestand, sowohl ein neues Fenster mit Google darin zu öffnen als auch den gesamten Inhalt der ursprünglichen Seite zu entfernen, indem er buchstäblich aus dem DOM entfernt wird.
Wie Sie sagen, verhindert dies nichts, was ein Aktualisieren oder eine Zurück-Aktion angeht, aber ich mag das Konzept: Wenn das Öffnen eines neuen Fensters eine verdächtige Aktivität ist, tun Sie Ihr Bestes, um den Inhalt des ursprünglichen Fensters zu zerstören.
Es scheint, als ob Firefox/Waterfox das Öffnen eines neuen Tabs durch JavaScript mit KeyUp blockieren will. Popup-Blocker? Funktioniert jedoch einwandfrei beim Klicken auf die Schaltfläche.
Das einzige Problem, das ich sehe, ist, dass die Person, die hereinkommt, immer noch die Historie überprüfen und sehen könnte, dass sie auf einer bestimmten Website war. Könnte eine Website wie diese Benutzer anweisen, Chrome zum Beispiel im Inkognito-Modus zu verwenden und eine Art Funktion zum Schließen des Inkognito-Modus in den normalen Modus zu haben?
Ich bin mir nicht sicher, ob das möglich ist, großartige Frage, ich habe nie über eine solche Situation nachgedacht.
Ich habe das nach einer kurzen Suche nach dem Löschen der Historie gefunden.
{
var Backlen=history.length; history.go(-Backlen);
window.location.href=page url
}
http://forums.asp.net/t/1132444.aspx/1
Hoffentlich hilft das
Bin ich verrückt, existiert _newtab tatsächlich? Wie habe ich das verpasst?
Es funktioniert nicht konsistent und anscheinend "funktioniert es nur einmal" pro Seitenladevorgang in einigen Browsern (Chrome)
Ich bin bei weitem kein Experte, daher könnte dies eine sehr dumme Idee sein, aber könnte man die gesamte Seite in einem Iframe laden, um die Historie auf ein Minimum zu beschränken? Wenn Sie das tun würden, wäre es möglich, interne Links innerhalb des Iframes zu laden, ohne die aktuelle Seite zu ändern? Dies in Kombination mit window.location.replace könnte helfen, jegliche Historie zu verhindern. Aber auch hier weiß ich fast nichts über Iframe-Mechanismen, daher könnte dies unmöglich sein.
Ich denke, ein versteckter, bildschirmfüllender Iframe würde anstelle einer Weiterleitung oder neuer Tabs den Trick tun. Bei einem neuen Tab leidet man unter dem momentanen weißen Bildschirm. Stattdessen könnten Sie einen versteckten Iframe im Hintergrund haben, Sie könnten JavaScript schnell drei verschiedene URLs treffen lassen. Dann, behalten Sie dieselbe "Go"-Schaltfläche und Hotkeys bei, würde der Iframe erscheinen und die gesamte Website maskieren. Der Iframe hätte bereits Inhalt geladen... was sich um das Problem des weißen Bildschirms kümmert. Es hätte auch 3 Seiten Historie – was sich um alle Probleme mit der Zurück-Schaltfläche kümmert. Das einzige Problem hier ist die URL-Leiste :(
Ich könnte auch [schwach] argumentieren, dass wenn Sie einem Benutzer Hotkeys beibringen, Sie ihm auch CTRL + W oder ALT + TAB oder CTRL + TAB beibringen könnten.
Ihre Lösung hat einen Fehler, das Erstellen eines neuen Tabs würde Misstrauen erregen.
Eine viel bessere Möglichkeit wäre, den Text und die Bilder per JavaScript auf der Seite selbst zu ändern.
Es könnte sich in ein Gedicht oder eine Nachricht ändern. Das würde keinen Verdacht erregen.
Und die URL muss ebenfalls geändert werden.
Der schnellste Weg, den ich mir vorstellen kann, um den Inhalt der Seite zu ändern, wäre die Verwendung eines versteckten Iframes, der auf eine Google-Bildersuche oder so etwas verweist. Durch Klicken auf die Schaltfläche würde der Iframe sofort sichtbar, da die Seite bereits geladen wäre. Der Hauptnachteil hierbei ist, dass die ursprüngliche URL immer noch in der Adressleiste stehen würde, daher denke ich, dass die anderen von Ihnen erwähnten Techniken ebenfalls verwendet werden sollten.
Als Bonus glaube ich (habe es nicht getestet), dass der Iframe-Teil der Seite in der Browser-Historie sichtbar bleibt. Wenn das wahr ist, könnten Sie einen Onclick-Handler zu allen Links auf der Seite hinzufügen, um den Iframe anzuzeigen, bevor der Browser dem Link folgt, was den Inhalt in der Historie tarnen würde.
Habe angefangen, meinen Beitrag zu schreiben, bevor ich Ryans Beitrag gesehen habe.
Das einzige, was mir aufgefallen ist, das ein wenig unglücklich ist, ist Chromes "Seitenpause" bei inaktiven Tabs. Chrome tut dies, damit die nicht sichtbaren Tabs keine Anfragen stellen, Videos abspielen, Audio usw. Wenn Sie sich also nach der Flucht die neue Google-Seite ansehen, erhalten Sie einen Blitz der vorherigen Seite (die Seite über häusliche Gewalt.)
Eine Unze Prävention ist mehr wert als ein Pfund Heilung. Ich gehe von einem Worst-Case-Szenario aus, daher könnten einige dieser Ideen wahrscheinlich als übertrieben angesehen werden.
ERSTSEITEN-WARNUNG
Zunächst sollte eine klare Nachricht an den Benutzer gerichtet werden, dass er die Website *NICHT* ansehen sollte, wenn die Gefahr besteht, entdeckt zu werden. Es sollte auch klare Anweisungen zum privaten Surfen im erkannten Browser geben.
IFRAMES
Lassen Sie die Hauptseite relativ obskur sein (verdammt, sie könnte sogar unter dem Deckmantel einer Wetter-Website stehen, um bei den Beispielen zu bleiben). Der Hauptinhalt der Website befindet sich in einem Iframe. Dies sollte sicherstellen, dass keine Historie-Einträge hinzugefügt werden, wenn der Benutzer nicht die Möglichkeit hat (oder die Warnung ignoriert), privat zu surfen.
CLICKJACKING FÜR DAS GUTE
Jeder Klick innerhalb einer bestimmten Schwelle für einen normalen Klick löst den "Sicherheitsbildschirm" aus. Um zu navigieren (auch dies müsste dem Benutzer mitgeteilt werden), muss der Benutzer etwas länger drücken und halten, um eine tatsächliche Navigation auszulösen. Bauen Sie die Website nach Möglichkeit als eine einzige Seite auf, die so wenig Klicks wie möglich erfordert.
BILDSCHIRMSCHONER-MODUS
Wenn innerhalb weniger Sekunden keine Tastatur- oder Mausinteraktion erfolgt, lösen Sie automatisch den Sicherheitsbildschirm aus. Fügen Sie eine etwas längere Verzögerung hinzu, die nach etwa einer Minute Inaktivität automatisch zu einer harmlosen Website wie Google navigiert.
Warum nicht Maus-Hover-Bereiche haben, die den Sicherheitsmechanismus einschalten, dann auf eine "Werbung" klicken (die eigentlich keine Werbung ist), um ihn auszuschalten. Bonuspunkte, wenn die Werbung ein Easter Egg enthält, das darauf hinweist, dass sie für die SARA-Website ist, z. B. eine Familie, die Badminton spielt und SARA-T-Shirts trägt.
Das funktioniert, weil die meisten Leute nicht auf schlecht zielgerichtete Anzeigen klicken, wenn sie überhaupt klicken. Für eine Frauenberatungsstelle verwenden Sie eine Tampon-Werbung, damit sich Männer unwohl fühlen, darauf zu klicken. Für eine Männerberatungsstelle verwenden Sie etwas, auf das Frauen wahrscheinlich nicht klicken würden. Kinder, LGBT und andere Situationen sollten dieselbe Taktik anwenden.
Gibt es eine Möglichkeit, den neuen Tab auf die vom Benutzer festgelegte Startseite zu öffnen?
Wenn weather.com und google.com verwendet werden, denke ich, dass eine Umkehrung der Funktionalität überzeugender wäre: Ersetzen der Webseite durch weather.com und Öffnen eines neuen Tabs mit Google.
Die Google-Suchseite ist ein natürlicher Ausgangspunkt und würde (für mich) seltsam aussehen, wenn man sie verlassen hätte, um einen neuen Tab zu öffnen, um das Wetter zu überprüfen.
Ich hoffe, das ergibt Sinn.
Sie könnten auch zulassen, dass URLs vom Benutzer irgendwo in der Go-Leiste festgelegt werden, und optional Cookies verwenden.
Wie wäre es, wenn man die URL in etwas wie: Go! ändert und eine Art Cookie oder Sitzungsschlüssel festlegt, der die Seite, die Sie verlassen haben, für Ihre nächste Sitzung bereithält?
Der erste Versuch auf der Demo-Seite dauerte ein paar Sekunden, bevor er tatsächlich etwas tat.
Ich besuche normalerweise nicht weather.com, daher kann ich nur vermuten, dass es nicht in meinem DNS-Cache war. Oder mein Firefox hat einfach ohne weiteren Grund verzögert.
Wenn meine Theorie zum DNS richtig ist, hätten Sie ein ähnliches Problem bei langsamen Verbindungen. Und wenn wir über Menschen sprechen, die Angst um sich selbst haben, wenn sie erwischt werden, ist es wahrscheinlich eine gute Idee, etwas clientseitig zu tun, bevor Sie eine externe Seite öffnen.
Vielleicht den gesamten Inhalt auf der aktuellen Seite löschen/ausblenden?
Ich würde vorschlagen, eine Schaltfläche zu haben, die die gesamte Website tarnt, indem sie sie in etwas wie weather.com oder ähnliches ändert. Auf diese Weise können sie surfen, ohne sich Sorgen machen zu müssen, es schnell zu ändern. Sie könnten sie sogar dazu bringen, mit der Maus über Inhalte zu fahren, um zu enthüllen, was dort wirklich steht, und dann müssten sie nur die Maus wegbewegen, und der gefälschte Inhalt würde angezeigt. Das ist komplexer, aber ich denke, es ist sicherer.
Das Ziel ist, nicht erwischt zu werden. Die eigentliche Notwendigkeit besteht also nicht darin, das Fenster zu schließen (ein typischer Anfänger-/Technikerfehler), sondern zu verbergen, wo der Benutzer war.
Ein einfaches Parsen des Historie-Arrays bis zum letzten Eintrag, der nicht dieselbe aktuelle Domain hat, und ein history.go(-X). Die meisten Browser tun dies schneller als etwas anderes anzuzeigen.
Wenn nichts im Historie-Array ist (Benutzer kannte die URL und ist direkt dorthin gegangen), dann öffnen Sie die Google.com-Startseite. Dies ist die Seite, bei der der Browser die größte Chance hat, sie im Cache zu haben.
Das Schließen des Fensters würde zum zuletzt geöffneten Fenster führen, was auch ein anderes Website-Fenster über häusliche Gewalt sein könnte. Oder noch schlimmer, der Desktop... was für (die meisten) paranoiden Täter äußerst verdächtig wäre.
Wenn Sie wirklich eine kugelsichere Lösung wünschen, behalten Sie einfach einen 1px hohen Iframe oben mit Google.com darin, geöffnet mit einem generischen Schlüsselwort. Jedes Skript könnte es auf volle Fensterhöhe ändern. Nach 2 Sekunden zu einer Google-Suche (zu denselben Schlüsselwörtern) weiterleiten, die auf _parent zielt. Sie können es möglicherweise mit
Dies wäre die allerbeste Lösung (auf derselben Seite bleiben), da ein STRG+W oder jedes Skript, das das Fenster schließt, zu einer Eingabeaufforderung führen könnte (wenn ein Beitrag übermittelt wurde oder so etwas...).
Und wenn Sie befürchten, dass JavaScript langsam werden könnte, platzieren Sie einfach eine riesige Schaltfläche oben in position: fixed; und weisen Sie Ihren Benutzer an, den Mauszeiger beim Lesen immer darauf zu halten.
Und verlinken Sie es mit der Google-Suche (die Sie ohnehin in einem 1px Iframe öffnen, sodass sie sich bereits im Cache befindet)
Hallo! Ich habe über den "keyup" und "keydown" Modus nachgedacht.
Ich habe angenommen: Wenn ich die richtige Schaltfläche drücke (es kann "z" sein), kann ich den richtigen Inhalt sehen, wenn ich sie loslasse, sehe ich einen anderen Inhalt, aber die Seite muss nicht aktualisiert werden, wie ein vollständiges Overlay. Wenn Sie die Seite also aus der Historie abrufen, können Sie nichts sehen.
Aber wie kann ich Ihnen am Anfang sagen, dass Sie die Schaltfläche gedrückt halten müssen, um den richtigen Inhalt zu sehen?! :(
...Ich werde darüber nachdenken :P
Betrachten wir die UI-Perspektive der normalen physiologischen "Schreckreaktion" – Viele Leute surfen mit dem Finger auf der Maustaste – das könnte, besonders wenn sie auf der "Lauer" nach Eindringlingen waren, zu einer nützlichen Gewohnheit werden, wenn sie über den Alt-Ausstieg Bescheid wissen. Aber die Maus zuerst zur Schaltfläche zu bewegen und dann die Schaltfläche "loszulassen" (d. h. aufgrund der Verwendung von "Button up") erscheint einfach etwas unintuitiv für jemanden, der von einem Eindringling erschreckt wird. Ich wünschte, es gäbe einen besseren Weg, die "Schreckreaktion" zu nutzen. "Du hast mich erschreckt" ist viel einfacher zu erklären als eine bemerkte Seitenänderung aufgrund einer verzögerten Mausfreigabe. Der Leser könnte sich zwingen, die Maus über der grünen Schaltfläche zu lassen; aber trotzdem.
Auch die Position der Escape-Schaltfläche ist weder einer Schreckreaktion noch einer Verschleierung Ihrer Bewegungen förderlich. (d.h. nach oben und darüber greifen). Wenn ich auf Eindringlinge achten würde, würde ich eine Taste in der untersten Zeile vorschlagen, wie die Leertaste oder Alt oder Strg – die Sie für den heimlichen Teil der Übung "übernehmen" könnten, aber bei einem "normalen" Verlassen der Seite zur normalen Nutzung zurückkehren könnten. Ein schnelles Drücken des Daumens auf die Leertaste oder Alt ist intuitiv bei einer "Schreckreaktion". [Ich gehe davon aus, dass bloßes 'Lesen' die Leertaste nicht erfordert, aber das Ausfüllen eines Formulars könnte.]
Würde auch einen Pop-up oder ein großes Infobanner oben vorschlagen, das beim Betreten der Seite gescrollt werden könnte – d.h. sich nicht auf eine winzige Infotaste am unteren Rand verlassen, die übersehen werden könnte.
$0.02
Es funktioniert bei mir in Safari 6.0 (7536.25) einwandfrei
Übrigens tolle Arbeit.
Hier ist eine Idee...
um die DNS-Zeit zu reduzieren... besonders wenn die Website noch nicht besucht wurde... vielleicht einen Weg finden, die "Boss"-Website beim Laden der Hauptseite vorab zwischenzuspeichern?
Vielleicht die Website in einem versteckten Iframe irgendwo laden... auf diese Weise ist sie auf dem PC bereit für den Wechsel im Cache gespeichert??
EINE WEITERE OPTION
Abhängig von der URL der betreffenden Website könnte die Go-Schaltfläche den Inhalt auf dem Bildschirm durch eine gefälschte Nachrichten-Website ersetzen? Verwenden Sie einen einfachen Hide/Show-Javascript-Befehl, um alle Divs auf dem Bildschirm auszublenden und ein vorgefertigtes gefälschtes Nachrichten-Layout (in einem versteckten Div gespeichert) anzuzeigen
Ich mag Ihre zweite Option, sie müsste einen Newsfeed von einer anderen Nachrichten-Website abrufen, um legitim zu erscheinen und einfach zu warten zu bleiben, aber das wäre kein Problem!
Wie wäre es mit einer Möglichkeit, Mausbewegungen zu verfolgen..... vielleicht könnte das schnelle Schütteln des Zeigers auf dem Bildschirm (ähnlich der Windows 7-Aktion) die Website ausblenden??
(Ist das überhaupt möglich??)
Diese Idee von Alex gefällt mir wirklich gut, ich bin mir nicht sicher, warum niemand sie wirklich aufgegriffen hat.
Es ist möglich, Mausbewegungen zu verfolgen (ich habe ein JavaScript-Beispiel unter http://bitdaddys.com/javascript/example3run.html gefunden), das Problem wäre natürlich, eine Funktion zu erstellen, die diese nimmt und ein "Schütteln" erkennt (ist eine dramatische Zunahme und Abnahme der X-Koordinate oder sollten mehrere erforderlich sein, um als ein einziges "Schütteln" zu zählen, oder sollte es vielleicht die Y-Koordinate verwenden?).
Aber ich glaube nicht, dass es unglaublich schwer wäre, der Vorteil wäre, dass nichts angeklickt oder gedrückt werden müsste.
Ich habe ein wenig darüber nachgedacht, wie man vermeiden kann, auf die "Zurück"-Schaltfläche zu klicken und zur Missbrauchs-Website zurückzukehren. Ich bin auf eine potenzielle Lösung gekommen, die eigentlich von JavaScript-Blockierung von Inhalten beim Laden herrührt.
Da JavaScript das Laden anderer Dinge verhindert, warum nicht Session Storage verwenden, um zu setzen und zu prüfen?
Das ist es, was ich denke
1. Sie besuchen die Website und haben JavaScript am Anfang der Seite (NICHT in einer Onload-Funktion).
2. Dieses JavaScript setzt Session Storage*, um dem Browser mitzuteilen, dass er diese Website bereits besucht hat.
3. Sie führen Ihre ursprüngliche Weiterleitungslösung (locationchange) durch
4. Wenn der Browser zu dieser Seite zurückkehrt, prüft er auf Ihren Session Storage – wenn er existiert – führt er einen Standortwechsel zu einer anderen harmlosen Website durch.
5. Da das JavaScript das Laden blockiert, SOLLTE es verhindern, dass der Endbenutzer etwas sieht**
* Session Storage (https://developer.mozilla.org/en/DOM/Storage#sessionStorage) der für die Dauer, in der der Browser geöffnet ist, gültig ist
** Möglicherweise möchten Sie Inhalte in/sichtbar laden, NACHDEM die Session Storage-Überprüfung erfolgt ist
Beachten Sie, dass dies wahrscheinlich immer noch die ursprüngliche URL anzeigt, wenn Sie auf die Zurück-Schaltfläche klicken. Möglicherweise möchten Sie Ihre URL etwas mehrdeutig gestalten.
Diese Lösung sollte auch in Verbindung mit anderen Lösungen verwendet werden, und der Benutzer sollte darüber informiert werden, was passieren wird. Sagen Sie ihnen, dass sie den Browser SCHLIESSEN und zur Seite zurückkehren müssen, wenn sie sie erneut besuchen möchten.
Ja, das verursacht mehr Arbeit für den Benutzer, aber es macht es meiner Meinung nach auch sicherer.
Ich wollte die Verwendung eines Tastendrucks vorschlagen, daher war ich froh, dass Sie am Ende des Artikels daran gedacht haben. Schön zusammengestellt. Ich habe nie über diese Art von Problem nachgedacht.
Was ist mit der Möglichkeit, die Seite mit Dummy-Inhalten oder einer anderen Website (über einen Iframe?) zu überschreiben, die vorab geladen wurde? Ich denke laut nach, aber es wäre sofort und würde kein verdächtiges Schließen/Öffnen von Tabs erfordern. Allerdings könnte die Zurück-Schaltfläche einige Probleme verursachen, es sei denn, das von Ihnen erwähnte AJAX-Zeug könnte greifen.
Eine weitere Idee: Beim Klicken auf die Go-Schaltfläche ein Cookie setzen, das Benutzer für die nächste Stunde blockiert oder auf eine harmlose Seite umleitet, damit der Täter nicht auf die Website zugreifen kann. Das mag schlecht aussehen, aber so etwas wie eine falsche 404/503 könnte dabei helfen.
Zufällige Ideen aus dem Stegreif. Fantastisch zu sehen, dass an solchen Dingen gearbeitet wird.
Mag übertrieben sein, aber ich würde dem Benutzer die Möglichkeit geben, die Speicherorte der Hauptfenster und des Tabs, die sich öffnen, selbst zu wählen. Auf diese Weise können sie sie vielleicht so gestalten, dass sie für das, was sie gerade tun sollten, erwartungsgemäßer sind.
Eine weitere Überlegung könnte sein, eine Doppelklickoption hinzuzufügen? Ich stimme auch dem Kommentar zu, eine andere Taste zu verwenden, da es verdächtig aussehen kann, wenn sie sehen, dass Sie die Escape-Taste drücken.
Insgesamt aber sehr gut. Kein Problem, dessen Lösung ich mir jemals ausgedacht hätte
Ich stimme Brad zu, lassen Sie den Benutzer etwas wählen, das für ihn nicht ungewöhnlich erscheint, oder gehen Sie mit einer Standardeinstellung (wie weather.com).
Außerdem denke ich, dass ein Doppelklick irgendwo auf der Seite ein guter Auslöser wäre. Einfach und schnell. Wie wäre es, zu erkennen, ob jemand zweimal hintereinander die Umschalttaste oder die Leertaste drückt? Nur ein Gedanke.
Ein würdiges Problem, das es zu lösen gilt. Weiter so.
Diese Ergänzung sollte sich mit der Zurück-Schaltfläche befassen.
Referenz: History go() Method (w3 schools)
Es gibt viele coole Ideen für Interaktionen hier, aber ich frage mich, ob sie alle zu ausgefallen sind. Werden sich Menschen in einem Moment der Panik an ein cleveres Mauswackeln oder eine ALT + Tastenkombination erinnern? Für mich macht es am meisten Sinn, es so einfach wie möglich zu halten (großer klickbarer Bereich plus der intuitivste Tastendruck – ESC).
Danke Chris, das war sehr hilfreich!
Ich habe eine sehr ähnliche Technik auf einer Website für denselben Zweck verwendet, aber ich habe eine Übergangsseite mit einer JavaScript-Weiterleitung hinzugefügt, sodass, wenn der Benutzer die Zurück-Schaltfläche drückte, er automatisch wieder zu Google zurückgeleitet wurde.
Sie sollten sich Mousetrap ansehen
Mousetrap
http://craig.is/killing/mice
-Adam
Wieder einmal ein großartiger Beitrag.
Die meisten Lösungen beinhalteten das Klicken auf eine Schaltfläche. Wie andere bereits erwähnt haben, ist dies meiner Meinung nach im Panikmodus einfach zu schwierig.
Was ist mit dem Gegenteil? Fahren Sie mit der Maus über eine Schaltfläche, um den richtigen Text anzuzeigen. Erlauben Sie zwei Versionen der Website. Die "Inkognito"-Version und die "normale" Version, in der nichts passiert. Durch das Erstellen von zwei Versionen können Sie auch sicherstellen, dass Roboter die normale Version sehen, um Ihrem wohlverdienten SEO nicht zu schaden.
Das Bewegen der Maus von einem Bereich weg ist die bei weitem einfachste und sicherste Aktion, die der Benutzer ausführen könnte. Wie viele von Ihnen starren auf die Startseite von Google? Wie viele von ihnen, glauben Sie, haben ihre Hände auf der Tastatur, während sie lesen, um schnell die ESC-Taste zu drücken?
Ich dachte, ähnlich wie einige andere bereits, wo sich die Hände der Benutzer normalerweise befinden? Zumindest werden sie eine Hand auf der Maus haben.
Was ist also eine einfache Sache, die wenig offensichtliche Bewegung erfordert, aber keine normale Sache ist? Ich bin mir nicht sicher, ob ich ein Fan von Doppelklick bin, da dies MÖGLICHERWEISE für andere Funktionen erforderlich ist, je nach Seite...
Auf jeden Fall habe ich eine Links->Rechts-Klick-Kombination und einen dreifachen Linksklick implementiert.
Schauen Sie es sich auf diesem jsfiddle an.
Es ist auch in einer Art JS-Bibliothek eingerichtet. Im Moment werden nur Ausgaben gemacht, um die Auslöser anzuzeigen, aber es ist nur ein Anfang für andere zum Anpassen.
Ich habe gerade gesehen, dass das Drücken von ESC etwas schwierig sein kann, wenn sie lesen, aber was ist mit dem Gegenteil? Wenn sie tippen, ist auch alles mit der Maus etwas schwieriger!
Also habe ich auch einen doppelten Escape-Press-Auslöser hinzugefügt :: jsfiddle
Verwendet Mousetrap für die Tastenbindung.
Ein Lob an Adam Overstreet für den Link zuvor! :-D
Beim Lesen aller Antworten habe ich noch keine gesehen, die vorschlägt, die rechte Maustaste zu verwenden. Ich denke, es könnte eine coole Lösung dafür sein, da der Benutzer beim Lesen seine Hand die ganze Zeit auf der Maus haben sollte. Eine weitere coole Lösung könnten wie zwei große vertikale Balken an den Seiten der Seite sein, die den Notausgang bei einem Maus-Hover auslösen würden, sodass der Benutzer, wenn er die Seite ausblenden möchte, einfach mit der Maus über die Divs fährt (was auch eine sehr intuitive Bewegung für einen Benutzer sein sollte, der keine Tastenkombinationen kennt und schnell auf die Exit-Schaltfläche des Browsers klicken möchte).
Großartige Diskussion und großartige Lösungen :)
Julián
Das mag zu aufwändig sein, aber wenn es darum geht, ein Leben zu retten...
Sie können die Historie nicht löschen, aber was, wenn Sie einfach genug Zeug in die Historie dumpen, um den Anschein zu erwecken, dass jemand etwas Allgemeines recherchiert hat? Vielleicht Kopfschmerzen, wie ein anderer Kommentator erwähnt hat.
Sie könnten auf eine andere Website mit einer nicht verdächtigen URL umleiten und history.pushState verwenden, um etwa 25 URLs auf den Historie-Stack zu dumpen und schließlich zu einem WikiPedia-Artikel oder so etwas zu springen. Die Idee ist, dass der Bösewicht hoffentlich, wenn er Wikipedia sieht, sich nicht bedroht fühlt, aber selbst wenn er sich hinsetzt und die Zurück-Schaltfläche drückt, bringt es ihn nur zu einer anderen Seite mit einem Link zu Wikipedia oder so. Ich bin mir nicht sicher, was die beste Zahl wäre – 10 überflutet wahrscheinlich die jüngste Historie durch Halten der Zurück-Schaltfläche, aber Sie können nicht zu viele dumpen, sodass es unvernünftig wird. Vielleicht könnten Sie verfolgen, wie lange sie auf der Website waren, und entsprechend eine angemessene Menge an Zeug auf den Historie-Stack dumpen.
Ich liebe die Gruppenanstrengung bei diesem Thema. Ich habe das Gefühl, dass wir gemeinsam etwas ziemlich Großartiges entwickeln können, das jede solche Website verwenden sollte.
Oh, fast vergessen
Sie sollten
.one('keyup keydown')verwenden können.Es soll etwas nur einmal auslösen, aber da es Sie von der Seite wegbringt, sollte es sowieso nur einmal ausgelöst werden. Auf diese Weise wird nur eines dieser Ereignisse verwendet, obwohl es an keyup und keydown gebunden ist.
Keine technische Lösung, aber ein Designpunkt zum Überprüfen: Die Umleitungs-Website sollte dieser Website für häusliche Gewalt in Bezug auf Hintergrundfarben und Bildgrößen so weit wie möglich ähneln (das Gegenteil könnte einfacher sein).
Es würde bei Tageslicht keinen Unterschied machen, aber wenn der Benutzer die Website nachts in einem dunklen Raum überprüft, strahlt der Bildschirm genug Licht aus, sodass eine Änderung von einer Website mit dunklem Thema/großen dunklen Bildern zur Google-Startseite für jemanden, der den Raum betritt, spürbar ist. Eine plötzliche Änderung der Beleuchtung kann verdächtig aussehen und Probleme verursachen.
Ich würde den Wechsel nachts in einem Schlafzimmer ohne Licht testen, wobei der Bildschirm umgedreht ist, nachdem ich eine Minute gewartet habe, bis sich meine Augen an diese Beleuchtung gewöhnt haben.
Wie Josh oben sagte, großartige Gruppenanstrengung. Ich freue mich darauf zu sehen, wohin es führt.
Aus Sicht des Designs ist es möglicherweise sinnvoller, dass die große offensichtliche Schaltfläche an der linken Seite der Seite herunterläuft. Aus demselben Grund, aus dem der Mac die meilenhohe Menüleiste hat, ist es einfacher, die Maus gegen die Seite des Bildschirms zu schlagen (wenn das Fenster maximiert ist) als an den unteren Rand des Bildschirms, wo der Benutzer nach oben gehen müsste, um nicht auf die Taskleiste zu klicken. Die linke Seite wird gewählt, um die Bildlaufleiste zu vermeiden.
Zusätzlich scheint heutzutage fast jeder gekaufte Monitor ein Breitbild zu sein. Anstatt Platz vom unteren Rand der Seite wegzunehmen, wo wir bereits wenig Platz haben, entfernen Sie ihn von der Seite der Seite, wo wir einen Überschuss an Platz haben, weil das Erstellen von Text mit mehr als etwa 72 Zeichen Breite (~10-11 Wörter) das Lesen erschwert.
Das ist tödliches Zeug,.. :]
Großartige Lösung — das ist erstaunlich!
Vielleicht könnten Sie auch eine AJAX-Anfrage an den Server senden, wenn die Schaltfläche gedrückt wird, die die IP-Adresse desjenigen protokolliert, der den "Panik"-Knopf gedrückt hat. Wenn diese Seite das nächste Mal geladen wird, könnte sie einen anderen "normalen" Inhalt anzeigen. Wenn jemand die Historie überprüfen würde, würde er lediglich automatisch zu weather.com usw. weitergeleitet.
Um zur Website zurückzukehren, gibt es möglicherweise eine Zeitverzögerung, um die IP-Adresse aus dem "Panik"-Protokoll zu löschen, oder es gibt eine bestimmte URL, zu der Sie gehen müssen, oder einen winzigen Link auf der neuen Inhaltsseite.
Wie wäre es, wenn die Schaltfläche die Sprache auf der Missbrauchsseite ändert? Auf diese Weise wird selbst beim Drücken der Zurück-Schaltfläche auf dem richtigen Tab eine fremdsprachige Website angezeigt
Großartige Idee & Arbeit!
Das Schwierigste ist meiner Meinung nach, die URL zu maskieren. Ich hatte dieselbe Idee, den Inhalt der Website einfach auszublenden/zu ersetzen durch etwas, das wie Google aussieht.
Es gibt Möglichkeiten, die Zurück-Schaltfläche daran zu hindern, sofort zur vorherigen Seite zurückzukehren – waren Sie schon einmal auf Websites voller Werbung? Ich spreche hier von ASP-Logik, aber wenn Sie Postbacks in einem zeitgesteuerten Intervall durchführen, würde das Klicken auf "Zurück" Sie nur zum vorherigen Postback bringen (was dieselbe Seite wäre). Ich bin mir nicht sicher, was das PHP-Äquivalent dazu ist.
Wissen Sie, wenn ich darüber nachdenke, warum lassen Sie die Schaltfläche nicht den Inhalt ausblenden/ersetzen, den Benutzer auf eine "sichere Seite" mit demselben Inhalt umleiten und die sichere Seite mit .htaccess in Kombination mit den zeitgesteuerten Mini-Postbacks in einem Intervall auf etwas Unauffälliges abbilden?
Ich denke ehrlich, dass ASP.NET in dieser Situation besser sein könnte. Ich kann mich nicht erinnern, aber es könnte eine Möglichkeit geben, die URL umzuleiten, ohne den Inhalt auf der Seite zu ändern. Zumindest würden das Routing und die Postbacks sehr helfen.
Um das Safari-Problem möglicherweise zu umgehen, könnten Sie den Klick auf die Escape-Taste simulieren..?
Ich genieße das Laden alternativer Inhalte; sollte man es jedoch für die beste Geschwindigkeit kurz nach dem Laden der Seite zwischenspeichern?
Laden Sie es gleichzeitig und blenden Sie den Inhalt dann über eine spezielle Div-Klasse aus, die ihn auf 0px reduziert (oder den Z-Index sehr niedrig festlegt). Ändern Sie dann diese Eigenschaften bei Bedarf.
Es ist die Sharepoint-Methode – auf diese Weise können Sie Ihre Inhalte ausblenden und sie auch abrufen!
Das ist wirklich erstaunlich. Ernsthaft. Darum geht es: Eine Gemeinschaft gleichgesinnter Einzelpersonen kommt zusammen, um ein Problem zum Wohle der Allgemeinheit zu lösen. Fantastisches, fantastisches Zeug. Bitte machen Sie weiter so.
Da andere bereits Dinge codiert haben, vielleicht die Erstellung von etwas auf Github? Im Moment kann ich nur Ideen beisteuern und ich glaube nicht, dass Github dafür gedacht ist. =)
Meine bisherigen Gedanken
– Die Sorge um die URL ist berechtigt, aber ich denke, die beste Lösung für diesen Teil der Funktionalität liegt wirklich bei dem Unternehmen/Service/Organisation/usw. selbst. Damit meine ich, dass sie eine generische Domain registrieren, die sie für ihre sensibelsten und wichtigsten Informationen verwenden könnten. Die "offizielle" Website wäre ein ordentlicher Domainname, damit die Leute sie leicht finden können, aber von dort aus leitet eine Weiterleitung sie zur generischen Domain weiter, und alle anderen Ideen bezüglich der besten Art, den Inhalt zu bedienen, könnten genutzt werden.
Das ist es bisher.
Bitte, bitte, bitte halten Sie diesen Schwung aufrecht.
"Der Mensch wird genau in dem Maße groß, in dem er sich für das Wohlergehen seiner Mitmenschen einsetzt." – Gandhi
Viele Grüße,
Jonesy
Die große Schaltfläche passt sehr gut zu Fitts' Gesetz. http://en.wikipedia.org/wiki/Fitts's_law
Sehr cool, dass man die Historie der zuletzt besuchten Seite mit JavaScript praktisch löschen kann.
Du bist der Beste, Chris. Ich habe diese Seite an eine Beratungsstelle für häusliche Gewalt weitergeleitet, die ich kenne.
http://cssmatter.com/
Einreichung offen! Senden Sie jetzt Ihre Website ein.
CSS Matter ist eine Webdesign-Galerie-Inspiration für Webdesigner & Entwickler.
Ein weiterer Vorschlag. Entschuldigung, falls er bereits hier ist, da ich die Kommentare nur überflogen habe
Es wäre nichts dabei, ein Dummy-Cookie mit einem Wert zu erstellen, sodass, wenn der verdächtige Benutzer zurückdrückt oder den Historie-Eintrag findet, Dummy-Text geladen wird oder auf die URL umgeleitet wird, die auf die Exit-Schaltfläche eingestellt ist?
Das einzige Problem wäre das Timeout für das Cookie?
Ich bin erstaunt und zutiefst dankbar, dass Sie dieses Problem so ernst genommen haben. Nach meiner Erfahrung möchten die meisten Menschen den Realitäten häuslicher Gewalt und dergleichen ausweichen, sodass die "normale" Reaktion gewesen wäre, die Frage zu ignorieren.
Und was für eine elegante Lösung. Vielen, vielen Dank.
Ich denke, die sicherste Antwort ist, die Website wie eine andere beliebte Website aussehen zu lassen – sagen wir Facebook? Dann platzieren Sie den Inhalt in der gefälschten Hülle. Oder erlauben Sie dem Benutzer, das Thema zu ändern, damit es wie eine andere Website aussieht.
Großartige Idee Chris! Danke fürs Teilen
Ein weiterer Aspekt, der hier fehlt, sind Anmeldeformulare. Ich arbeite für einen Erwachsenen-Händler und wir deaktivieren das Speichern von Benutzernamen/Passwörtern auf unseren Websites, um diskreter zu sein. Es gibt dann keine Möglichkeit herauszufinden, dass Ihr Partner ein Konto auf der Website hat, ohne Zugriff auf seine E-Mail zu haben.
Großartige Idee!
Ich habe 2 Vorschläge, um den Trick zu verbessern.
Erstens, anstatt auf dieselbe gefälschte Website umzuleiten, wählen Sie einfach eine zufällige in einem vordefinierten Array aus. Wenn das Opfer zurückkommen und erneut fliehen muss. Es kann verdächtig sein, zweimal am Tag auf einer Wetter-Website zu sein, zum Beispiel.
Um dann die Umschaltgeschwindigkeit zu verbessern, laden Sie die "gefälschte" Website in einem versteckten Iframe vorab, um alle zwischenspeicherbaren Ressourcen abzurufen. Wenn Sie eine anständige gefälschte Website wählen, müssen Sie wahrscheinlich nur das HTML herunterladen. Das Laden ist nicht sichtbar und wir könnten glauben, dass das Opfer diese gefälschte Seite bereits eine Weile durchsucht hat.
Vergessen Sie nicht, "cursor: pointer" zu einem klickbaren Element hinzuzufügen
Tolle Idee, ich werde sehen, ob ich das zu meinen Websites hinzufügen kann.
Sie könnten den gesamten Hintergrund zu einer Schaltfläche machen, sodass das Klicken überall auf eine neue Website umleitet. Für mich ist es genauso schwierig, einen kleinen Streifen oben zu finden, wie zum X im Browser zu gelangen.
Responsive Websites wären dafür auch großartig.
Obwohl es nichts mit der eigentlichen Lösung zu tun hat, wollte ich auf eine Möglichkeit hinweisen, wie sich eine Seite selbst schließen kann, was in Chrome und IE9 getestet wurde.
In einem 'click'-Handler können Sie die folgenden Zeilen verwenden
window.open("","_self",""); window.close();Dies wurde im Code einer Google Chrome-Erweiterung gefunden.
Vielleicht könnte der Benutzer die Option haben, den "Panikmodus" auf der Website zu aktivieren.
Ich kann mir vorstellen, dass der Benutzer mehr liest als auf einer "normalen" Website, auf der Benutzer den Inhalt öfter überfliegen.
In diesem "Panik"-Modus würde jede Tastaturtaste den Ausgang auslösen.
Was den Ausgang selbst betrifft, ist die Lösung "Inhalt ersetzen" meiner Meinung nach am ansprechendsten, auch wenn sie schwieriger zu implementieren ist.
Nur ein Gedanke, und ja, ich möchte meine Identität geheim halten wie ein Geheimagent, war, dass Google vielleicht auf einer Suchseite landen sollte (wie Wetter), damit jemand, der sich Ihren anderen Tab ansieht, sieht, dass Sie nach Wetter gesucht haben... nur so eine Idee.
Wie Remi Grumeau am 30.07.2012 spricht, skaliert ein einfacher ESC-Druck den Iframe auf 100%.
Die Seite ist bereits geladen (langsames Internet, 1 Sekunde Verzögerung ist zu viel), und Javascript kann sie in einer Millisekunde auf 100%/100% bringen.
Über die Farben: Das Design muss die gleiche "Helligkeit" haben wie die Seite in der Seite im Iframe.
Google.com (leer, nichts eingegeben) ist albern...
Gibt es eine Möglichkeit, die beliebteste Webseite (wie Facebook/Yahoo/Google) abzurufen? Es wäre sinnvoller als eine leere Google-Seite.
Schön zu sehen, dass die Gehirnflüssigkeit bei diesem wichtigen Thema immer noch fließt.
Ein weiterer Gedanke, den ich hatte
Was wäre, wenn all diese Arten von Organisationen/Diensten/etc. eine Reihe von Dummy-Domains registrieren würden? Dies würde es ihnen ermöglichen, eine Reihe von Dummy-Websites zu erstellen, die sie alle für den Umleitungsabschnitt des Fluchtprozesses nutzen könnten. Dies ermöglicht auch die vollständige Kontrolle über den gesamten Umleitungsprozess (visuell, Inhalt, Codierung usw.).
Nur laut gedacht. =)
Viele Grüße,
Jonesy
Guter Beitrag und auch eine nette Diskussion.
Ich frage mich, ob wir das Verhalten des Benutzers nach der Aktivierung dieser Schaltfläche berücksichtigen sollten? Ich meine, als ich auf den Demo-Panikknopf klickte, hatte ich keine Ahnung, was mich erwartete, und das hat mich in eine unangenehme Lage gebracht.
Wenn ich also ein echter Benutzer wäre und mein missbräuchlicher Partner hereinkäme und fragen würde: „Was schaust du dir an?“, bin ich mir sicher, dass meine Reaktion sofort misstrauisch gewesen wäre.
Um dies zu lösen, wäre es ratsam, den Benutzer zu fragen, ob er beim ersten Aufruf eine Exit-Site angeben möchte. Bei Panik können sie auf eine vertraute Seite umgeleitet werden, die sie kennen und die sich angenehm anfühlt. Könnte dies dem Browser nicht auch ermöglichen, den Inhalt vorab zu laden/zu cachen, um ein superschnelles Laden der Seite zu ermöglichen? Die Dateien könnten bereits zwischengespeichert sein, wenn es sich um eine häufig besuchte Website handelt.
Tippfehler…
Toller Artikel und einige wirklich gute Ideen in den Kommentaren, aber ich denke, das Wichtigste, was man beachten sollte, wurde von Chris gesagt: „Was das Design angeht, denke ich, ist der beste Plan, groß, offensichtlich und persistent zu sein.“ Daher würde ich die gesamte Website in diesen grünen „Go“-Button einpacken…
Das Hauptproblem beim Wechsel zu anderen Websites durch Klicken auf eine Schaltfläche oder durch die Verwendung von AJAX zum dynamischen Laden von Inhalten besteht darin, dass der Vorgang lange dauern kann. Besonders wenn Sie Dinge herunterladen oder ein Modem verwenden (einige Leute in ländlichen Gebieten haben keine andere Wahl).
Ich denke, der beste Weg ist, das private Surfen zu aktivieren und ein Ereignis an die Escape-Taste zu binden, um die gesamte Seite nur mit CSS und jQuery dynamisch zu ändern (Elemente ausblenden/entfernen und andere Elemente anzeigen). Die Anzeige einer gefälschten Rezeptseite wäre schön.
Der Benutzer kann wiederholt die Escape-Taste drücken, um so zu tun, als ob er frustriert wäre, weil die Seite nicht richtig geladen wird.
Das erste Drücken der Escape-Taste ändert die Seite sofort, und die folgenden Drücke bewirken nichts.
Wenn wir ein Cookie setzen, das abläuft, können wir verhindern, dass die ursprüngliche Seite neu geladen wird, wenn auf Seitenaktualisierung geklickt wird.
Würde das funktionieren?
Sehr interessant. Wir haben uns für Createathon DC eine Unterstützungs-Website für Missbrauchsopfer angesehen und dort einen solchen Button gesehen, der zu einem zufälligen YouTube-Video weiterleitete.
Wunderbarer Artikel und eine wunderbare Website. Ich bin durch Lynda.com-Tuts auf deine Arbeit gestoßen. Chris, du bist großartig. Danke!
Zunächst einmal finde ich diesen Beitrag WIRKLICH großartig und es ist total cool zu sehen, wie Leute mit Nachdenklichkeit und Sensibilität für ein solches Thema zusammenarbeiten. Diese Art von Änderungen an einer Website machen wirklich einen Unterschied im Leben eines Menschen! GENIALE Lektüre
Es wäre wirklich toll, dem Benutzer vielleicht zu erlauben, seine bevorzugte Ausstiegsseite einzugeben, wenn er zum ersten Mal auf der Seite landet. Ich meine, wenn jemand, der mich kennt, vorbeigehen würde und ich die Wetterkanalseite geöffnet hätte, wären sie sofort misstrauisch ... aber wenn ich LOLCats geöffnet hätte, wäre es überhaupt nicht verdächtig. Die Eingabe des bevorzugten Ausstiegslinks direkt bei der Ankunft wäre auch WIRKLICH einfach zu implementieren.
Einverstanden. Der einfachste und am wenigsten aufdringliche Weg, den ich mir vorstellen kann, ist eine Splash-Seite (Javascript-Weiterleitung basierend auf einem Cookie?), einfach mit einem Eingabefeld, das besagt: „Aus Gründen des Datenschutzes und der Sicherheit geben Sie bitte unten eine Website an, die Sie häufig besuchen.“
Besser als eine Splash-Seite ist ein kleines modales Pop-up (im Lightbox-Stil), das diskret nach diesen Informationen fragt und die Informationen/Anweisungen zum schnellen Verlassen der Seite enthält. Es könnte schnell und leicht sein. Man sollte auf jeden Fall sicherstellen, dass die Seite selbst sehr leichtgewichtig ist und SCHNELL geladen wird, damit sie nicht zwischen den Seiten hängenbleiben – insbesondere da es immer noch Orte auf dem Land gibt, die nur über Wählleitungen verfügen.
Man muss auch über Mobilgeräte nachdenken.
Äh, mobil ist einfach im Vergleich zu Wählleitungs-freundlich. Es ist so gut wie unmöglich, etwas Leichtgewichtiges, Kleines (Dateigröße), Legacy-konformes und modern aussehendes zu entwerfen. Wählleitungsbenutzer verwenden wahrscheinlich auch nicht die neuesten Browser, da sie dann die gesamte Online-Zeit mit Updates verbringen würden. Das Testen eines Designs für Wählleitungsbenutzer beschränkt uns im Wesentlichen auf IE6, Safari und vielleicht Firefox 3.x.
Um es zu wiederholen: Es muss XHTML1.1- und CSS2-konform sein, gemäß den Bedingungen von IE. Man sollte auch so viele Bilder wie möglich spriten oder zumindest sicherstellen, dass beschreibende Bildplatzhalter vorhanden sind. Video? HA! Nein. Es sei denn, man kann es herunterladen und nur, wenn die Dateigröße angegeben ist.
Das scheint ein bisschen viel Aufwand zu sein. Wäre an dieser Stelle nicht eine Offline-Lösung besser? Wenn nicht, vielleicht eine separate, leichte Website mit demselben Inhalt? Benutzeragenten, die nicht auf einer Whitelist stehen, könnten dorthin umgeleitet werden, natürlich mit einem Link, um die leichte Weiterleitung zu umgehen.
Weiterleiten ist schlecht. Was ist, wenn die Zielseite langsam ist oder die Internetverbindung unterbrochen wird oder ein DNS-Server brennt. Keine Weiterleitung.
Anstatt zu einer neuen Website zu wechseln, ist es besser, einfach das aktuell angezeigte zu maskieren, indem man eine Vollseiten-Überlagerung oder Ähnliches verwendet. Um die Erkennung visueller Änderungen zu minimieren, verwenden Sie entweder dieselben Farben und Helligkeitsstufen oder verwenden Sie einen Auflösungsübergang.
Wenn Sie zusätzliche Ressourcen laden müssen, damit die „Panik!“-Seite angezeigt wird, stellen Sie sicher, dass Sie diese Ressourcen laden, wenn Sie die Seite zum ALLERERSTEN MAL bereitstellen, damit sie sofort verfügbar sind. (Denken Sie daran, die Caching-Richtlinie für diese Elemente sehr weit in die Zukunft einzustellen.)
Wenn der Browser modern genug ist, können Sie die HTML History API verwenden, um den Verlauf zu löschen/zu ändern. Man sollte auch den Fenstertitel ändern, um den Effekt zu vervollständigen.
Wie würde eine Überlagerung den Domainnamen ändern oder den Verlauf löschen? Sie müssen auf dieser Seite bleiben, damit eine Überlagerung tatsächlich funktioniert.
Nun, der Domainname würde sich nicht ändern, aber der Verlauf (wenn man die History API verwendet) kann gelöscht und der Fenstertitel geändert werden. Ich habe kürzlich eine Website entwickelt und den gesamten Verlauf mit der History API gelöscht (eigentlich habe ich es versehentlich während des Testens getan). Sie haben mich also beim Domainnamen erwischt, aber der Rest trifft zu. Ich nehme an, man könnte die Adressleiste ausblenden, aber das müsste vom Endbenutzer manuell vorgenommen werden.
Um die Domain zu ändern, können Sie Javascript verwenden, um den Inhalt der Adressleiste neu zu schreiben, ohne die Seite zu laden. Speichern Sie mit Javascript und Iframes den Inhalt einer Wikipedia-Seite beim Laden zwischen. Dann würde der Panik-Button 3 Dinge tun
– das Iframe den gesamten Bildschirm einnehmen lassen,
– den Inhalt der Adressleiste umschreiben, um die URL des Iframes widerzuspiegeln (ohne die neue Seite zu laden),
– den Verlauf mit der von Ihnen erwähnten API löschen.
Auf diese Weise kann eine Person die neue Seite sofort anzeigen, ohne eine zusätzliche Anfrage in einer gefährlichen Situation. Die einzige Schwachstelle ist, dass bei Verwendung der Schaltfläche zum Neuladen die nicht-panische Seite angezeigt würde.
Ich bin zufällig darauf gestoßen, und ich weiß, dass es jetzt über ein Jahr alt ist, aber mir gefällt vieles von dem, was hier gesagt wurde, und ich hatte ein paar eigene Gedanken.
Ich bin kein Webentwickler, ich bin nur ein Künstler. Aber von dem, was ich über Websites weiß, weiß ich, dass Cookies gespeichert werden. Wäre es nicht möglich zu sagen, dass wenn sie die Zurück-Taste drücken und die Website das Cookie für ihre eigene Website sieht, sie anstatt sich selbst neu zu laden, zu Google weiterleiten würde?
Als Nächstes würde man den Verlauf in dem Moment löschen, in dem sie die Website betreten. Vielleicht sogar eine Warnung, dass dies geschehen wird, und wenn sie nein sagen, dann eben nicht, denke ich. „Diese Website löscht Ihren Webverlauf, um Sie zu schützen, ist das in Ordnung? Ja Nein“ Diese Abfrage sollte sich in der Nähe des unteren Bildschirmrands befinden (wie oben erwähnt, blockiert der Körper des Betrachters diesen Bereich). Dadurch wird der Verlauf entfernt und der vorherige Verlauf als Google bereitgestellt, falls möglich. Die aktuelle Seite wird als Google-Suche nach chronischen Kopfschmerzen angezeigt. (Wir alle machen uns Sorgen um die Gesundheit, wenn unser Körper etwas tut, das nicht normal ist) liefert ein Alibi. Echter Inhalt existiert unten und kann leicht geschlossen werden, indem man an eine beliebige Stelle außerhalb klickt. Dies sollte von Anfang an klargestellt werden. Die Bildlaufleiste rechts scrollt sowohl den Inhalt unten als auch den Inhalt oben. Auf diese Weise sieht es aus der Ferne so aus, als würden sie es benutzen und nicht lange auf statische Inhalte starren. Das Weiterblättern von Seiten führt auch zu einer Weiterentwicklung der gefälschten Suche (basierend auf echtem Google-Suchinhalt). Sobald auf die Seite außerhalb der kleinen Inhaltszone geklickt wird, sendet sie den Benutzer zu einer relevanten Website über Kopfschmerzen, und wenn die Zurück-Taste gedrückt wird, leitet sie zur 2. Seite der Google-Suche nach Kopfschmerzen weiter, falls möglich.
Der Nachteil ist, dass sie nicht zur Website zurückkehren können, ohne ihre Cookies zu löschen ... aber zumindest sind sie in Sicherheit. Diese Informationen sollten ihnen so effizient und klar wie möglich präsentiert werden ... und so schnell wie möglich. Zuerst wie man entkommt und direkt danach, wie man zurückkommt. Dann mit dem Inhalt fortfahren. Unten rechts sollte sich auch ein Panikknopf befinden, um die Polizei über den Standort zu informieren, falls es ein Problem gibt. „Polizei rufen“. Der andere Nachteil ist, wenn ihr Computer gesperrt ist, um die Verwendung von Cookies zu verhindern ... es könnte sie auffordern, sie zu aktivieren, um sie zu schützen ... keine Ahnung. Ich habe keine Ideen mehr...
Um den „Flash von altem Inhalt“ in Chrome beim Zurückwechseln zum inaktiven Tab zuverlässig zu verhindern, musste ich eine einfache Verzögerung hinzufügen, die es ermöglicht, das Fenster rein weiß neu zu streichen – ein kurzer weißer Blitz beim Wechseln von Tabs ist nicht ungewöhnlich.
Abgesehen davon habe ich festgestellt, dass viele der vorgeschlagenen Maßnahmen in modernen Browsern (jegliche Art von Verlaufsmanipulationen) nicht zuverlässig funktionieren, und Browserhersteller haben allen Grund, die Fähigkeit zu beschränken, diese Art von Tricks durchzuführen.
Dies könnte durchaus zu einem Datenschutz-/Flucht-Button führen, der Sicherheit suggeriert, aber fehlschlägt – der schlimmste Fall.
Eine schnelle Möglichkeit, die Website zu verlassen, ist gut, aber die Aufklärung des Benutzers über den Datenschutz ist von gleicher oder größerer Bedeutung. Browser-Tools bieten ein viel höheres Maß an Schutz, wenn es darum geht, Aktivitäten/Spuren zu verbergen.
Ein sehr prominenter Hinweis und ein Link zu einem Tutorial zu diesem Thema sollten standardmäßig angezeigt werden.
Für Benutzer, die es oder den Flucht-Button nicht benötigen, scheint es machbar, es als Cookie-basierte Präferenz auszublenden.
Was das Tutorial betrifft, habe ich viele Beispiele gesehen, in denen Benutzer von einer Textwand getroffen werden, die eine Cookie-/Verlaufszurücksetzung für jeden wichtigen Browser beschreibt. User Agent Sniffing mag in den meisten Fällen böse sein, aber hier dient es einem guten Zweck – ich ziehe es vor, das technische Kauderwelsch so prägnant wie möglich zu halten, indem ich Annahmen über den Browser des Benutzers treffe (natürlich ist es selten eine schlechte Idee, einen Fallback anzubieten, falls man falsch rät).
Könnte ich ein Array von Websites erstellen (wie eine Liste ausgewählter URLs) und zufällig zwischen diesen auswählen, wenn jemand auf den Button klickt?
Ich möchte eine Art benutzerdefinierten „Heute habe ich Glück“-Button erstellen…