【问题标题】:Hiding URLs from the location bar从地址栏中隐藏 URL
【发布时间】:2014-01-09 09:05:52
【问题描述】:

这可能是一个愚蠢的问题,如果我意识到我会删除它,所以如果你正在阅读这篇文章,那么我还没有弄清楚。

我有一些在线(可寻址)并且可用的软件,但它有点保密,所以当您访问我的域时,您不会只是点击我的软件,而是会显示一个我编写并隐藏在该博客中的博客是一个链接;)

一切顺利。

现在的问题是我的软件的用户总是发布屏幕截图,这会泄露我的 1/2 秘密 URL。是的!所以我想让 url 只是普通的旧普通域,以免让他们的 hacky 类型变得太容易:p

我可以完全控制这里的一切。客户端/服务器/一切。最初,您点击了一些 jsp,然后点击了 GWT 应用程序(在 Tomcat 内部)——您必须在 GWT 应用程序中提供登录详细信息。所以我有很多地方可以隐藏/伪造这个 URL,但是任何可以提供帮助的想法都会很棒。

...是的,我正在发布这个(也许不是太愚蠢)!

非常感谢。

【问题讨论】:

标签: javascript jsp url tomcat gwt


【解决方案1】:

将内页包含为 iFrame

【讨论】:

  • 是的,我可以这样做,但想要更多服务器端的东西
  • ...我使用 iframe 进行了测试,但因为我的应用是使用 MGWT 的移动网络应用,所以 iframe 会严重影响事情!
  • 你想要服务器端然后你将不得不使用代理服务器
  • 没关系,这只是一件小事,我可以使用一行 javascript "history.pushState"
【解决方案2】:

您可以在此处使用 javascript history.pushState()

history.pushState({},"Some title here","/")

例如http://yourwebsite.com/secretlink.html,JS运行后,URL栏会显示http://yourwebsite.com/没有刷新页面1。请注意,如果用户刷新页面,他们将被带到http://yourwebsite.com/,而不是返回到秘密链接。

您还可以执行history.pushState({},"Some title here","/hidden.jsp") 之类的操作,这样如果用户刷新页面,您可以向他们显示一个错误页面,告诉他们找到秘密链接并再次打开它。

1.如果您pushState() 不是您自己的其他域,则会发生刷新,因此不会被滥用到网络钓鱼网站

【讨论】:

  • 我给你答案。我没有测试,但你听起来是对的。我想我可以通过 GWT 或在服务器上做到这一点。我实际上已经决定采取相反的方式,我现在强迫每个人都在推特上发布 URL。感谢您的建议!
  • 顺便说一句,这很有效 - 也很简单,你应该得到 50 分 history.pushState ;)
  • 更新:我正在使用 history.replaceState(...);作为 history.pushState(...);留下秘密 URL 的历史记录 replaceState 没有(顶级内容)
猜你喜欢
  • 1970-01-01
  • 2013-08-21
  • 2016-10-23
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多