19

当用户使用前一页上的链接单击页面时,目标页面是否可以自行从浏览器历史记录中删除其自己的 URL(无需对实际具有链接的页面进行重大修改) ,除非,也许它是一个简单的 HTML 属性或什么)?

显然我不应该在 URL 中存储敏感信息,但在某些情况下,我必须在 URL 中存储一些信息,虽然它不敏感,但最好不要将其存储在历史记录中。(如果这些 URL 出现在历史记录中,它们对用户完全没有用处。)

那么,作为一名 web 应用程序开发人员,我有什么办法可以让这些内容远离历史,至少在某些现代浏览器中是这样吗?(由于 URL 加载的页面上的诸如 HTTP 标头、JavaScript 或 HTML 等内容。)

(我对诸如使用 AJAX、iframe 等获取页面的技术不感兴趣,用户实际上并没有导航到所述 URL,但仍设法从中获取内容。)

4

3 回答 3

7

看起来这是不可能的。

浏览器历史记录将存储 URL。可以做的最好的事情是防止 URL 进入后退/前进按钮,或者使用“技术,例如使用 AJAX、iframe 等获取页面,用户实际上并没有导航到所述 URL,但仍然管理从中获取内容”

于 2013-01-23T20:28:27.107 回答
3

使用 javascript,您可以使用以下replace方法window.location

window.location.replace(String url)

在此处查看文档以获取更多详细信息

于 2013-01-22T19:18:45.310 回答
1

某些情况下,发送302 Found响应并重定向到另一个页面可能会起作用。如果您需要隐藏查询字符串参数,您可以在初始重定向响应中使用它们设置会话 cookie,然后使用它们在真实页面上提供响应。请记住在提供页面时清除 cookie。

但这是一种完全服务器端的方法,虽然您可以隐藏敏感数据,但您仍然会在历史记录中看到域上的某些页面。

于 2016-06-21T05:51:55.730 回答