危机/滥用网站中的紧急按钮的最快退出策略?

我在为一个妇女虐待资源中心做网站。很多像这样的中心都有一个被中心称为“紧急按钮”的东西。一个基本的例子是在每页顶部的绿色条 给你

这个链接或者按钮的想法是为了当一个女性正在寻求帮助的时候,她们的施虐者或者她们不想认识的人走进了这个房间,这样她们就可以快速逃离。有时链接比关闭浏览器窗口快得多,这可能会引起怀疑。

我看到的问题是,我看到的大多数按钮这样做只是发送到谷歌或类似的东西。我要做这样的事情:

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

或者

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

这样的链接会滚动到一些实际的内容。它不是一个空白的谷歌搜索,但也不是一个非常具体的事情,可以被视为可疑的。

我知道阻止引用是好的,但是即使有了这个解决方案,你也可以点击浏览器上的后退按钮,然后你就被捕获了。对于这个问题,我想我可以这样做:

超文本标示语言

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

我发帖是因为有生命的危险与此,我需要的东西是尽可能接近一个完整的解决方案。你会怎么做?

更新-3-26-14:
我运行了一些教育的想法张贴在这里的资源中心,我的工作,这里是他们的答案。“我们的用户甚至需要极大的勇气才能登录我们的网站。当他们来的时候,他们正在寻找一个快速简单的资源,以摆脱一个可能危及生命的情况。在大多数情况下,他们没有时间或精神能力来教育自己以一种安全的方式浏览我们的网站。当提出“恐慌按钮”的想法时,如果处理得当,似乎是我们治疗的大多数受害者总是需要的一种资源

在阅读了这里的很多想法之后,似乎总的解决方案是一个大按钮,在左手边的一个恒定位置漂浮。当页面加载时,它在后台加载另一个站点(可能是一个 ajax 调用) ,所以点击按钮只是删除了重叠的框架。这将意味着单击时没有加载时间。为了避免浏览器的后退按钮,似乎告诉浏览器不要缓存是必要的,也可能在每次页面更改时使用 replaceState禁用后退按钮来显示这个站点。

这仍然是一个非常技术性的问题。辩论非常有帮助,但我仍然需要一个可行的技术解决方案。有人认为他们能够把所有这些想法集中在一起,形成一些实用的东西吗?我会马上开始工作,并将我想到的任何东西发布出去。谢谢大家。

9882 次浏览

I think you still have a long journey ahead of you.

把人们发送到谷歌页面的原因是

  1. 装载速度很快
  2. it's likely to be cached anyway
  3. 它能快速渲染 非常
  4. 优化得很好
  5. 我说过它很快吗?

你提供的链接很慢。

If you want to provide a fast way of changing the screen then open your site in a frameset - with the cloak in a frame of height 0, and your site in a frame of full height. Then when the user clicks on the link swap around the frame heights and redirect to the top level window to the page already loaded.

最终剪辑

好了,我已经读了所有的评论,这是我认为最好的解决方案,但我也想到了一个全本地的替代方案。我愿意进一步改进[讨论]

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

我在我的 AWS 实例上放了一个例子在54.186.79.95进入那个页面,点击按钮,访问另一个页面,然后回击,你现在在54.186.79.95/decysite 上,没有你在54.186.79.95/的记录,如果缓存被禁用,你的服务器将看到。./诱饵网站」的要求,并发送诱饵网页。不幸的是,您不能修改整个域,因此您需要该域不可疑。

如果你想摆脱页面内容,我相信最好的方法是使用 document.body.innerHTML='';。严格来说,你仍然在页面上,但所有的内容都消失了。

Next step is to modify your browser history. window.history.replaceState (链接到文件) is an HTML5 feature that can modify your history without doing a page reload or a request to your server. It's pretty fast but only works on modern browsers. When the user clicks the panic button, we will replace the current page in his history with a fake url.

如果滥用的用户点击回来,你的服务器(PHP,python,无论什么)将收到一个请求与您的假网址。因此,您需要在服务器中有另一个端点(如果您不理解端点,请告诉我)。制作一个良性的文章,食谱,或天气报告与类似的外观和感觉到您的原始网站,以避免怀疑,如果滥用者得到了一个快速浏览网站。还要确保浏览器不会使用 <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">tag 进行缓存。

附加说明

  • Ideally your entire website (except your decoy article of course) should be an SPA (Single Page Application) so that it only ever produces one browser history record and you only have to modify that one.
  • 说到底,我不认为你不能做一个100% 万无一失的紧急按钮,总会有办法解决的。你只需要找到一个可以接受的安全和方便水平。

ANOTHER ALTERNATIVE: LOCALLY CHANGE THE INCRIMINATING INFO AND MODIFY BROWSER HISTORY

I was also thinking if instead of loading google, if it's not best to actually 用纯粹的信息改变你的网站. This looks less suspicious than loading google (everyone does that) and you can do it all locally without reloading the page.

当他们点击应急按钮时,你做一些快速(和跨浏览器兼容)的 DOM 操作来改变你网站上的罪证信息,使它看起来无辜(也许只是改变文本,它必须快)。通过这种方式,所有的操作都是在本地完成的,在今天的绝大多数浏览器中,这几乎是即时的。您不必担心重新加载/服务器,因为脚本应该已经加载并准备好了。如果你保持相同的外观和感觉,它看起来像用户只是导航到网站的不同页面。不要让你的网站看起来太明显,这是一个危机网站。当然,您使得返回到原始内容变得不可能。我还会在紧急按钮上说明策略是什么,这样用户就不会惊慌失措。

我仍然会尝试更改浏览器历史记录,并购买另一个域,其中包含诱饵页面的副本,如前面的示例所示。不仅如果域名是可疑的,但在万一滥用用户点击刷新或回到他的历史。你应该让你的整个网站 SPA,因为你只能修改你的当前条目,而不是你过去的历史。当然,这仍然只能在 HTML5浏览器中工作,只要确保没有抛出错误,并且脚本的其他部分仍然在旧的浏览器中运行。

人们是怎么想的? 有什么弱点吗? 有什么好的内容可以代替?

既然你说在你的实现中有生命危险,我强烈建议教育用户使用多个标签,而不是点击一些紧急按钮。

我的理由是

  1. 在“紧急情况”时,用户将手移向鼠标需要多长时间(假设他们抬起手打字或触摸头发或做任何他们想做的事情) ,让我们假设他们花了多长时间-> 0.5 seconds
  2. 在你的例子 工地中,绿条实际上非常小,坦率地说,并不是每个人的手眼协调性都很准确(此外,鼠标光标加速度可能因操作系统和用户配置文件不同而有所不同) ,用户必须移动鼠标到“恐慌”按钮并点击,除非他们是专业的 FPS游戏玩家,否则很可能会带他们再来一次-> 1-2秒
  3. 我最后一个变量假设是,如果你的脚本涉及到加载远程资源,比如 www.google.com,你可以通过假设浏览器是
    • 现代的
    • 已启用脚本
    • 网络速度和延迟是最佳的
    • 缓存已经准备好了。

如果要加载远程资源,我建议您插入一个包含 z-index: -1和一些虚拟 Web 内容的 div。在点击,移动他们的 z-索引更高,重叠屏幕上的一切。

因此,如果我们假设你加载一个远程资源和所有的未知变量,我们可以假设花费的时间是-> 0.5 -10秒

If you are going to write a program that might kill someone, i strongly suggests you not to take the risk of doing something that might take 2 - 12 seconds to save them.

通过放置带有说明的横幅来教育用户

  1. 打开一个不会威胁到他们自己生命的标签页(例如 google.com,msn.com,yahoo.com)
  2. 用您的站点打开另一个选项卡
  3. 正常浏览您的网站
  4. 遇到紧急情况时,按 Ctrl+W键查看谷歌 Chrome、 IE、 Firefox、 Opera (请确认其他主要浏览器)

如果你得到了整个想法,按下 ctrl + w vs 你计划的解决方案,我可以肯定地保证 Ctrl+W会更快。

紧急按钮存在一些大问题:

  • 点击它是很困难的(你必须准确)
  • 选择它需要花费时间(如果你在笔记本电脑上没有鼠标,那么需要花费大量的时间)
  • 它在历史上拯救了你
  • 可通过后退按钮/后退空间访问。

还有一个女人在读这篇文章的时候,试图快速点击那个按钮,她惊慌失措的随机动作又是怎么回事呢。如果她错过了第一次尝试的按钮怎么办?

所以如果真的有人可以被拯救,这是个坏主意

更好的方法是向他们展示正常的方法(在你可能进入这个网站之前,通过一些帮助)。它可以是这样的:

根据用户的浏览器,你给他们一个只使用键盘(根本没有鼠标)的步骤列表。例如,如果她是铬。

  1. open a website you like (FB, twitter, funny bunnies and pretend like you are doing something).
  2. 按下 CRTL + SHIFT + N (打开匿名窗口) ,这将不允许回退/历史技巧
  3. 进入我们的网站在那里(没有复制粘贴,以防止检查什么是在您的缓冲区)
  4. 阅读材料,始终保持你的手在键盘上靠近 CRTL 和 W
  5. 如遇紧急情况,按 CRTL + W
  6. 继续盯着你的 FB,twitter,搞笑兔子

当然你必须用适当的语言修改你的解释。但这样就很难被抓住了。还要告诉坐在镜子和其他反射面如窗户,玻璃和其他东西旁边。请他们尝试使用这些组合一段时间来熟悉。

If human lives are involved, you have to be professional and do not use these panic buttons. Especially if it is so easy to teach people how to do it quicker and more secure.

听诺比亚斯的

我明白你的意思了,谢谢,但我不同意你的观点。 经过大量的活动,把它放在 FB,你实际上看到它在 FB?我没有。不懂技术的人总是会想出一些非常糟糕的主意,其中一些你可能已经经历过(防止右键点击银行页面以提高安全性,4位数密码更容易从手机上输入)。按一个按钮听起来很简单,但是看看我的步骤列表——在紧张的情况下你唯一需要做的事情就是按 CTRL + W 键。您不需要考虑选项卡、模式和其他事情。这是最基本的模式-看到某人,按 Ctrl + W。在我看来,这一点都不难,也容易记住。到目前为止,点击这个按钮并不比记住它更难。其他的一切你都必须在正常的气氛中阅读。

按下2个按钮比移动鼠标快得多,而且当你的手指在按钮上时,你很难错过它们(做一个实验,让自己处于紧张状态,试着快速点击那个按钮)。同样正如我提到的-我看到了至少四个原因,在 panic button的情况下可能会出现问题,而我看到的原因在 CRTL + W。如果涉及到人类的生命,你需要专业一点。

回答尼古拉斯 · 莫伊斯。为什么人们总是说按 CTRL + W 键需要精通技术?我不是要教人们如何使用 TOR,VPN,建立加密通道。这只是 CTRL + W。人们学会了如何玩愤怒的小鸟来缩短他们的时间(这比记住两个按钮要难得多) ,所以人们可以学习 CRTL + W 来拯救他们的生命。教程可以以这样的方式显示,观察者无法理解为什么你在阅读本文(当你看到我的步骤列表时,我不相信第一个猜测会是-啊这是为女性虐待网站)。

但是最有可能给人们错误的安全感是更好的。答案并非离题。这个人在问如何实施紧急按钮——我在解释为什么当前的方法有缺陷,他能做些什么来做得更好。这和“我想保证通信安全,我使用替代密码”是一个级别的,是的,你可以提高他的密码速度,假装一切正常,或者你可以用另一种方式显示。

最后一次尝试解释我的补充观点: 你必须正确地向人们解释你的方法背后的风险。一个很好的例子就是白俄罗斯的博客作者,他们认为匿名发布在互联网上会使他们无法被政府压制。这些资源让他们错误地认为,如果他们不提供自己的真实身份,他们就会得救。他们知道这不是真的(当他们被关了几年的时候)。

If someone would explain them the risk I think some of them would be happy to learn how to use any tool to save their next five years.

那么,为什么不给女性一些选择呢:

  • 您可以立即使用方法 A,下面是您可能遇到的问题列表。
  • 你可以使用方法 B,这需要 X 分钟在第一次阅读和理解的东西。然后你的可能的问题列表减少到一个更小的列表。

让他们决定他们想做什么,这样他们就知道风险了。

这个答案假设历史记录和地址栏不是问题,至少不会立即出现。

场景

朱莉是配偶虐待的受害者。她在互联网上寻求帮助,她来到你的网站: http://www.crisisprevention.com(这个答案是虚构的)

当她仔细阅读你的网站时,她听到她的配偶迅速走近房间。她慌了。幸运的是,您有一个漂亮的大按钮,可以在页面滚动时固定在页面上。

她按下这个按钮,然后..。

它把她带到了 Google.com

我不喜欢这种方法的原因如下: 没有人会相信你只是坐在电脑前盯着谷歌搜索提示。相信我。我以前试过。

I used to keep a tab open with the Google prompt, and if I was browsing off-topic at work stuff, I'd switch to the Google tab so that no one was the wiser. It worked...sort of. Until people started to question why I was staring at the Google search screen all day.

从那以后,我开始打开一个标签,其中包含不同州的各种工作项目。通常我都是在浏览之间做一些事情。所以,现在我真的完成了一些工作!不需要一个技术天才就能想出这种方法,这就是为什么@LeeGary 的答案可能是最好的。

它需要她... 它仍然需要她... 哦,互联网连接问题

Here's a reality you need to be prepared for. Perhaps the Internet Connection gets interrupted at the moment she is panicking. The current content stays displayed on the page while she waits for the HTTP GET request to get content it can start rendering...only, no content is being retrieved. The Internet connection is disconnected. This could happen for any number of reasons:

  • Spouse disconnected it.
  • 正在联系的服务器正处于极大的负载之下。
  • 浏览器内存不足。
  • 互联网服务供应商有问题。
  • 拨号连接/断开连接(是的,这些仍然存在)。
  • 电脑速度太慢了。
  • DNS 服务器瘫痪了。

原因不胜枚举,为什么浏览器可能会在她按下应急按钮时卡住,并试图将她转移到一个新的网站。

即时提供另类网站服务

我的解决方案建议您在网站的后台预加载网站。加载到一个 <div>和隐藏它背后的正常网站。如果内容量很大,那么可以考虑使用 z-index而不是 display: none隐藏它。这样它将被预渲染(我相信,这里可能是错的)。

现在,她的网络连接断了也没关系了。她已经知道内容了。HTTPGET 请求不涉及延迟。它只是立即显示。

如果地址栏是一个问题,您仍然可以通过提供与您的域相关的替代网站来减轻这个问题。

For example, take the fictitious (for this answer) domain: http://www.crisisprevention.com

你可以提供一些其他的文章,比如说,解决世界饥饿危机。

这里的观点是,最初的第一眼是最致命的。当配偶走进来,看到她带着惊慌失措的表情浏览 Google.com 时,他会怀疑有什么事情发生了,并且更倾向于调查。同样,如果由于 HTTPGET 请求速度缓慢或失败,她被发现正试图隐藏自己的行为,情况可能会更糟。

我正在扩大问题的范围一点,因为点击应急按钮确保用户将不会被捕获。

There are multiple concerns in this problem that needs to be issued depending on the risk and how compute literate is the user.

因此,以尽可能友好的方式向用户提供一些基本的安全知识可能是一个好主意。即使使用者处于高度压力之下,他们最好知道他们可以留下什么痕迹。

Traces

浏览历史

任何时候用户使用你的网站而没有私人浏览,它会留下非常明显的痕迹。没有适当的方法来检测浏览器是否在私有模式下运行,但是你可以在入口处有一个警告,他们应该切换到私有模式,as well as删除当前进入的历史记录。您可以准备一些屏幕截图,以供用户按照删除历史记录,(或者如果可用,只删除网站的条目)

饼干

如果您使用 Cookie,下一个人 可以得到这些 Cookie (即使它们已经过期) ,并且可以理解这个站点已经被使用。如果可以,请使用自定义头进行授权,这将不会在计算机中留下任何跟踪。
这可能会迫使您更改应用程序的结构,这可能不是一个好主意。只有在确保用户正在使用私有浏览会话之后才能在浏览器中设置 Cookie。

缓存中

如果您通过打开页面并检查网络来使用缓存,那么技术娴熟的人可以检测到站点是否被访问过。通过在回复中使用这些标题,确保明确指示浏览器不要缓存:

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

后面的按钮

在更改页面时,每个页面都将放在当前历史记录中(甚至在私有浏览会话中) ,允许使用后退按钮。如果可以的话,在每次更改页面时使用 replaceState,这样后退按钮就会被打破。

加密

使用 HTTPS 防止窃听。请注意,DNS 查询仍然会未加密,但我不认为这将是一个问题,除非用户泄露政府的东西。如果是这样的话,一个网站反正也不够安全。

一般来说,这些应该足以删除跟踪,还要确保您没有使用其他持久层,比如 localStorage

紧急按钮

这是一个完全不同的问题,我们需要在计算中包含多个因素。
First off, if this is a life threatening scenario, we must understand that the user will be under utter stress when they need to launch the panic exit. We don't know how the computer screen is positioned, and we cannot guess what is the user doing in the time of the panic.

屏幕位置问题

最糟糕的情况是,屏幕的位置会让威胁(从远处)看到屏幕和网站。如果是这种情况,网站应该设计的方式,它将看起来非常类似于 exit site,以消除任何怀疑。从一个不同的设计移到白色谷歌将是显而易见的,甚至屏幕不直接可见,只是比较屏幕发出的颜色在两个网站之间(在一个相当暗的房间)。

退出速度

如果您只是进行重定向,那么它可能不够快,无法及时进行更改。您必须在 iframe 中预加载退出端,在恐慌时,您应该将其全屏显示,然后进行重定向。这将有助于缓存退出站点的静态内容,并使事情看起来更快。确保使用 replaceState代替自然导航来禁用后退按钮。

出口路线

您必须确保可以立即使用退出路线,并且方便用户点击。我认为最有可能的两种状态要么是 用户正在输入,要么是 用户正在导航。这意味着在你的 HTML 中应该有一个退出快捷键和一个大按钮。

键盘退出

I think using either hitting the ESC key twice should trigger it, or holding one of the big keys should (like space or enter). Either way, you should let the user know about this, and possibly, let them train themselves by trying. 尝试恐慌退出既可以帮助他们预测恐慌时的行为,从而做出合理的推理(预期的行为可能会让他们松一口气) ,也可以训练他们这样做,这样他们就更有可能在恐慌时做出正确的行为。

鼠标出口

这将是非常简单的,有一个大的,不同颜色的按钮,将引发恐慌。

Where to Exit?

这取决于具体情况,默认情况下,重定向到一个常用的、设计类似的站点可能是明智的。允许用户自己选择退出站点(在做出合理的默认设置之后)也是明智的。

Notes

  • 如果用户正在使用私人浏览并且恐慌,浏览器仍然处于私人浏览状态,这可能会引起怀疑。没有捷径可走。您可以尝试指示用户事后清除历史记录,但是他们可能没有足够的时间。
  • 大部分的答案集中在桌面浏览器上,在移动设备上的体验会有所不同,但不是很多。

您可能会看到一些老游戏和网站上的“ Boss”应急按钮。这个想法是,如果你的老板来了,你可以迅速切换到看起来无辜的东西(当然,你必须先看到他们走过来!).

施虐者进来时,几乎任何匆忙或疯狂的举动都会引起他们的怀疑。考虑设计屏幕,使它们看起来像一般新闻或类似(从远处看) ,没有大标题或图片泄露其目的。这通常可以让用户有时间从站点“悠闲地”退出,而不会引起恐慌。如果紧急按钮链接把用户带到,比如说,一个真正的新闻网站,那就更好了(如果它出现得足够快的话)。

正如其他人所提到的,如果滥用者变得可疑(许多控制狂也是如此) ,浏览器上仍然有一条历史记录,他们可以很快找出用户去过哪里。坦白说,你能做的不多,尤其是当用户进入疯狂恐慌模式试图掩盖自己的行踪,而施虐者看到了这一点。即使屏幕本身可以在超时一段时间后刷新为无关的内容,浏览器的历史记录也会显示 URL。

考虑建议用户定位电脑,这样施虐者就不会从背后偷袭他们,或者去图书馆或其他非私人的地方使用这个网站。如果屏幕上的内容从远处看是沉闷的(见上文) ,它不应该吸引别人的兴趣。

祝你好运!

可靠的逃生方式

编辑: 另一个想到的事情是,如果用户失去了互联网连接,这种情况发生在各种各样的原因,包括有人断开了电缆,那么你就没有办法导航到另一个网站。他们可能会被困在那里,就像“定罪”页面上的一头被车灯照亮的鹿。我认为这为实际导航到一个良性合作伙伴/联盟网站的想法增加了可信度,而这个良性合作伙伴/联盟网站会将您的网站直接加载到他们的页面上的 iframe 中。要使您的站点消失,您所需要做的就是使用已经加载到 iframe 中的 JavaScript 从 DOM 中删除 iframe。即使互联网连接中断,它也能工作。

我将启用 Escape 键来快速退出。这是一个物理的,众所周知的键在键盘上,用户可以扑过去,如果他们需要,而不是移动一个挑剔的鼠标指针到一个虚拟按钮和点击。

编辑: 我刚刚意识到早期的海报 是的提到了 Escape 键,称之为“ ESC”在写回复之前,我在页面上搜索了“ Escape key”,但是没有找到。

编辑: 我也会把紧急按钮留在页面上,上面写着“单击此处或按 Esscape 快速退出”但我会把一个放在页面顶部,一个放在页面底部。也许我应该在书页上画条带子。如果访问者单击边界区域中的任何地方,则内容将消失。

还要考虑到,为了让紧急按钮在紧急情况下更容易点击,你可能需要把它做得稍微大一点,并确保它总是在屏幕上滚动页面,或者在页面上放置多个紧急按钮,这本身就可能看起来很可疑。看起来好像这些可能希望是相当离散的页面,你正在谈论。

如果使用 jQuery,可以执行以下操作来响应 Escape 键:

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

Single-Page AJAX App

看起来所有建议的解决方案都是关于找到一些快速导航到其他网站的方法,或者通过预先加载并快速显示在网站顶部,或者通过清除 DOM 然后导航离开,或者其他什么方法。

如果我要采取这种方法,我会有一个普遍良性网站和搜索引擎搜索的清单,我会循环通过,以便它不是相同的“搜索黑人女性的鞋子”出现在每一次。

但是把整个概念颠倒过来怎么样?使用一个或多个良性诱饵站点,或者甚至邀请不相关的良性商业站点来托管一个看起来良性的链接,并将您的站点作为一个单页 AJAX 应用程序在 iframe 在主页的顶部(s)中加载?

编辑: 你甚至可以让你的主页简短地声明为了访问者的安全将访问者重定向到一个合作伙伴站点,并显示一个友好的“ Go”按钮。如果你有多个合作伙伴的网站,你可以把他们,所以更好。当它们单击时,删除页面的浏览器历史记录,使用 URL 查询参数重定向到附属站点,该参数告诉您的引导程序在附属站点的 JavaScript 立即加载您的 iframe。从那时起,分支机构的网络服务器上就没有额外的负载了。这样,您就有了一个正式的主页,但是您可以立即让访问者完全离开您的页面。

按 Escape 键或单击 Panic 按钮只会从 DOM 中删除 iframe,留下良性的主机页面和没有浏览器历史记录。(噗)

你可以用这种方式来缓解浏览器历史问题,因为你的链接会运行一些引导 JavaScript 代码,而且你永远不会实际上 导航浏览器到你的站点。

当单击主页中的引导链接时,它会将一个 iframe 插入到 DOM 中,使其浮动(绝对定位和 z-order) ,将其放置在主页的顶部,然后向 Web 服务发出 AJAX 调用,以检索将加载到框架中的 HTML 内容。框架中的所有其他链接和/或按钮也会对您的服务进行 AJAX 调用,无论是向服务器发送数据还是检索数据以便显示。你永远不会在用户的浏览器中加载一个真正的“页面”。

这种方法的另一个好处是,如果浏览器崩溃或变得不稳定,必须从任务管理器中关闭,这将阻止清理代码运行,那么这不会有什么影响,因为您没有(必要)任何需要清理的内容。

休斯顿?

一些严重的问题,我看到这些解决方案的 任何的顶部我的头,特别是考虑到上下文,生活可能在线:

  • 在浏览器缓存中缓存对象(主要是图像)

  • 路由器/防火墙可能正在记录 HTTP/HTTPS 请求,而受害者可能不知道这一点,而你清理浏览器所做的任何事情都不会减轻这一点

  • 用户的电脑上可能安装了键盘记录/屏幕截图间谍软件,而浏览器应用程序无法减轻这种情况

  • 计算机崩溃,网页浏览器崩溃,由于清理代码无法运行而留下的痕迹。

正如至少一个其他海报所建议的(老实说,我只是简单浏览了其他的海报) ,在安全模式下使用浏览器应该可以减轻许多这样的情况。但这是一个用户培训问题,在最佳条件下,用户培训可能有点疯狂。如果受害者不是非常精通技术,特别是如果他们真的处于恐慌状态,冷静思考可能会很困难,那么就很难做到正确。

您可以显示一个错误页面,而不是已经在后台加载的实际站点。也许是个假的 Youtube 或者谷歌404页面?我认为这将使额外内容的大小保持在最低限度。

As others have suggested, I would also use the escape key. Reduces the change of missing it, would be a lot easier for someone with a mousepad and the user can keep his/her finger on it when he/she is just browsing through the site.

您还可以使用其他选项; 页面本身上的按钮或让他们知道其他转义方法(ctrl + w,如前所述)。 也许对于平板电脑用户来说也是一种姿态。

当然,您可以更改任务栏中的 url。(有关如何做到这一点的代码,请参阅其他文章)。

鼓励他们尝试逃跑的方法。所以他们知道自己在做什么,以及如何应对。

我认为我们可以采取不同的方式。我的想法如下:

  1. 只显示虚假的内容(类似的风格和布局与真正的网站)。
  2. 用户需要与内容进行特定的交互以触发第3步(例如,将 XYZ 放入文本框中,或者单击了复选框或 RadioButton 的组合,等等)。
  3. 第二步完成后,当用户在页面上(右边)留下一个小点时,页面将显示其真正的内容。如果鼠标在上面,内容将保持不变。
  4. 在紧急/恐慌情况下,用户只需将鼠标从真实内容移开,内容就会被改回假内容。