Javascript 如何创建不会添加到浏览器历史记录中的链接

Javascript 如何创建不会添加到浏览器历史记录中的链接,javascript,browser-history,Javascript,Browser History,我想创建一个秘密URL,该URL将对用户进行身份验证以执行某些操作,但不会出现在浏览器历史记录中 e、 我以为这样做会奏效 特殊链接,例如https://example.org/page#specialHashGivesAccess通过电子邮件发送给合适的人。出于此目的,电子邮件被认为是足够安全的 页面上运行的Javascript通过ajax将秘密发送到服务器,服务器会检查并返回一个临时哈希 Javascript对页面执行窗口.location.replace,并使用临时散列 然后,应用程序检查

我想创建一个秘密URL,该URL将对用户进行身份验证以执行某些操作,但不会出现在浏览器历史记录中

e、 我以为这样做会奏效

  • 特殊链接,例如
    https://example.org/page#specialHashGivesAccess
    通过电子邮件发送给合适的人。出于此目的,电子邮件被认为是足够安全的
  • 页面上运行的Javascript通过ajax将秘密发送到服务器,服务器会检查并返回一个临时哈希
  • Javascript对页面执行
    窗口.location.replace
    ,并使用临时散列
  • 然后,应用程序检查临时散列,如果确定,则显示内容
  • 临时哈希将在短时间内过期,也可以手动过期
  • 原始特殊链接(1)不在浏览器历史记录中
  • 更进一步,做这项工作的脚本;应用程序脚本和ajax服务器是远程的。i、 e.生成
    example.org/page
    的站点有
    ,ajax是使用CORS完成的

    然而,在我的测试中它似乎不可靠,我在我的历史记录中发现了
    特殊的hashgivesaccess


    有办法做到这一点吗?

    这是不可能做到的(在发布此答案时)

    虽然有许多方法可以操作会话历史记录,但无法阻止在全局历史记录中创建条目,也无法覆盖存储在其中的第一个页面加载请求

    因此,我要采用的解决方案是

    要访问该服务,您可以使用以下链接和密码:

    • 密码:aabbccddeeff00112233
    如果没有其他人使用您的浏览器,您可以使用以下快捷链接保存您输入的密码,但是请注意,这将使任何有权访问您的浏览历史记录的人都可以访问该服务


    您是通过电子邮件发送链接,还是在网站本身的某个地方发送链接?通过电子邮件。因此,某一组人将收到一个链接以供使用。我们可以相信他们的电子邮件足够安全。显然,任何拥有第一个链接的人都可以访问;那是可以接受的。我只希望有一个长期的安全链接(这些人重视便利性),但不希望将其保存在浏览器历史记录中,这样下一个用户就可以访问浏览器。您尝试过使用吗?不过Safari和Firefox Android不支持它……谢谢霍尔加思,我确实需要一些跨浏览器的东西,但很高兴知道。