gpt4 book ai didi

javascript - 危机/滥用网站中 panic 按钮的最快退出策略?

转载 作者:IT王子 更新时间:2023-10-29 02:38:53 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.


8年前关闭。







Improve this question




我正在为妇女虐待资源中心做一个网站。很多这样的中心都有被中心称为“ panic 按钮”的东西。一个基本的例子可以找到 here在绿色栏中的每一页的顶部。

链接或按钮的想法是,如果女性正在查看该网站寻求帮助,而施虐者或她们不想认识的人走进房间,则可以快速逃脱。有时链接比关闭浏览器窗口要快得多,这可能是可疑的。

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

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

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

我知道阻止引荐来源网址很好,但即使使用该解决方案,您也可以点击浏览器上的后退按钮并被捕获。对于这个问题,我想我可以这样做:

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

我发帖是因为这会危及生命,我需要尽可能接近整体解决方案的东西。你会怎么做?

更新 - 14 年 3 月 26 日:
我运行了我正在合作的资源中心发布的一些教育理念,这是他们的答案。 “我们的用户甚至访问我们的网站都需要极大的勇气。当他们来的时候,他们正在寻找一种快速简单的资源来摆脱可能危及生命的情况。在大多数情况下,他们没有时间或精神能力去教育自己以安全的方式浏览我们的网站。当出现“ panic 按钮”的想法时,如果操作得当,似乎是我们治疗的大多数受害者总是要求的资源。

在阅读了这里的很多想法之后,一个完整的解决方案似乎是一个大按钮,它 float 在左侧的恒定位置。当页面加载时,它会在后台加载另一个站点(可能是 ajax 调用),因此单击按钮只会删除覆盖框架。这意味着单击时没有加载时间。为了避免按下浏览器的后退按钮,似乎有必要告诉浏览器不要缓存,并且可能使用 replaceState。在每个页面更改以禁用显示该站点的后退按钮。

这仍然是一个非常技术性的问题。辩论很有帮助,但我仍然需要一个可行的技术解决方案。有人认为他们能够将所有这些想法整合成功能性的东西吗?我自己会马上着手处理它,并会发布我想出的任何东西。谢谢大家。

最佳答案

(几乎)最终编辑
好的,我已经阅读了所有评论,这是我认为最好的解决方案,但我也想到了一个 ALL-LOCAL 替代方案。我愿意进一步改进/讨论

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/decoywebsite 上,并且没有关于您在 54.186.79.95 上的记录/,如果缓存被禁用,您的服务器将看到“../decoywebsite”请求并发送一个诱饵页面。不幸的是,您无法修改整个域,因此您需要该域不可疑。
如果你想摆脱页面内容,我相信最好的方法是使用 document.body.innerHTML=''; .从技术上讲,您仍然在页面上,但所有内容都消失了。
下一步是修改浏览器历史记录。 window.history.replaceState ( link to docs ) 是一项 HTML5 功能,可以修改您的历史记录,而无需重新加载页面或向您的服务器发出请求。它非常快,但仅适用于现代浏览器。当用户点击紧急按钮时,我们会将他历史记录中的当前页面替换为假网址。
如果滥用用户点击返回,您的服务器(Php、python 等)将收到带有您的虚假 url 的请求。所以你需要在你的服务器中有另一个端点(如果你不理解端点,请告诉我)。制作与您的原始网站具有相似外观和感觉的良性文章、食谱或天气报告,以免滥用者快速浏览该网站时产生怀疑。还要确保浏览器不使用 <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> 进行缓存。标签。
补充说明
  • 理想情况下,您的整个网站(当然除了您的诱饵文章)应该是一个 SPA(单页应用程序),以便它只生成一个浏览器历史记录,而您只需修改那个。
  • 归根结底,我认为你不能制作一个 100% 万无一失的紧急按钮,总有办法绕过它。您只需要找到一个安全性和便利性可以接受的级别。

  • 另一种选择:在本地更改犯罪信息并修改浏览器历史记录
    我也在想如果 而不是加载谷歌 , 如果不是最好实际 使用无辜信息在本地转换您的网站 .这看起来不像加载谷歌(每个人都这样做)那么可疑,您可以在本地完成所有操作而无需重新加载页面。
    当他们单击紧急按钮时,您会进行一些快速(且跨浏览器兼容)的 DOM 操作,以更改您网站上的犯罪信息并使其看起来无害(也许只是更改文本,它必须很快)。这样一来,这一切都在本地完成,这在当今的绝大多数浏览器中几乎是即时的。您不必担心重新加载/服务器,因为脚本应该已经加载并准备就绪。如果您保持相同的外观和感觉,看起来用户只是在导航到网站的不同页面。不要从您的网站的外观上看得太明显,这是一个危机网站。当然,您无法导航回原始内容。我还会在紧急按钮上明确说明策略是什么,这样用户就不会 panic 。
    我仍然会尝试更改浏览器历史记录并购买另一个托管诱饵页面副本的域,就像前面的示例一样。不仅在域名可疑的情况下,而且在滥用用户点击刷新或返回其历史记录的情况下。您应该将整个网站设为 SPA,因为您只能修改当前条目,而不能修改过去的历史记录。当然,这仍然只适用于 HTML5 浏览器,只要确保没有抛出错误并且脚本的其他部分仍然在旧浏览器中运行。
    人们怎么想?有什么弱点吗?什么是好的内容可以代替?

    关于javascript - 危机/滥用网站中 panic 按钮的最快退出策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22648829/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com