哈希斜杠 (#/text) 会清除使用 /text 离开域的 URL



在一些 rails 应用程序上工作,观察到一个奇怪的问题,当 url 末尾有一个">#/whatever"时,它会清除 url 的其余部分。 例如,如果我们有以下网址

https://www.example.com/sub/123/cou/321/something

我们添加#/hello?how-are-you,例如

https://www.example.com/sub/123/cou/321/something#/hello?how-are-you

并按回车键,URL 将更改为:

https://www.example.com/hello?how-are-you

在所有环境中。在其他未观察到此问题的 rails 应用程序和 .NET 应用程序中对此进行了测试,以下是我的 ROR 应用程序的详细信息:

轨道 4.2.7.1、红宝石 2.3.1 和许多宝石

问题:我如何防止这种行为,因为这会向服务器发送错误的url.referrer

你不能。片段是 Web 浏览器的本地内容,这就是它们的全部意义所在。它们永远不会发送到服务器,因此您无法在服务器上执行任何操作来获取它们。

最新更新