停止浏览器存储访问历史记录

Stop browsers storing history of a visit

本文关键字:历史 记录 访问 存储 浏览器      更新时间:2023-09-26

我目前正在为一个妇女避难所开发一个网站。由于这是非常敏感的信息,对于那些使用该网站,我想阻止浏览器存储他们的任何访问历史。是否可以使用HTML5 History API之类的东西?理想情况下,它也可以在IE6+中工作,因为有很多人使用旧版本的IE。

我知道浏览器有隐私浏览模式,但大多数人不知道,所以一些自动的方式将是最好的。

一个潜在的(虽然不太受欢迎)解决方案是提示人们使用隐私浏览模式,如果他们目前没有这样做。有可能通过JavaScript检测到这一点吗?

编辑:我接受了Virgil的回答,因为教育是最好的选择,因为他们可能也需要将他们学到的东西应用到其他网站上。我还使用约瑟夫的location.replace上的隐藏我的访问按钮,所以它禁用后退按钮。

值得注意的一件有趣的事情是,我尝试在网站上的所有链接上使用history.replace,认为这将取代所有的浏览器历史记录,这意味着只有最后浏览的页面才会被记住。然而,在Firefox中打开历史面板(没有在其他浏览器中测试过),仍然会显示每个浏览页面的日志,只是无法通过后退按钮访问。

所以,对于任何有类似问题的人,我想重申教育用户是保护他们的第一步。谢谢大家的建议。

Ric

不幸的是这是不可能的。用户必须采取行动删除他们的历史记录。我建议你发布一个警告,这样女性就可以删除她们的历史记录,你还可以在每个主要浏览器上添加说明。至于HTML5和JavaScript,这在IE6中是不可能的,因为它不支持HTML5。

一种方法是使用location .replace(url)使所有导航都只通过javascript进行。这并不保存历史状态,但也意味着用户不能真正使用书签。对于链接,它类似于

<a href="javascript:location.replace(location.host + '/wherever.html')" href="wherever.html">wherever</a>

<a href="#" onclick="location.replace(location.host + 'wherever.html'); return false;">wherever</a>

或类似.

嗯,虽然我不认为你可以"强迫"用户使用隐私浏览,但你可以给他们每一个避免历史记录的机会。

例如,让站点尝试存储cookie(来自服务器和使用javascript之类的语言)。如果服务器可以在下次访问时重新检测到cookie,则将其重定向到"使用隐私浏览[并在此说明如何使用]或自行承担风险"的着陆页面。

这是唯一的解决办法。

当然,我也会实现SSL,但我认为这是更隐含的

难道解决方案不是使用HTTPS吗?我很确定浏览器不会存储这些网站的历史记录。