2010-08-31 72 views
4

我有一个应用程序在大多数情况下利用相当不友好的动态URL。我为某些内容提供了友好的URL,但这些URL仅用作应用程序的入口点,在此之后所有生成的URL将成为不友好的类别。有没有办法告诉浏览器加入地址栏以外的地址?

我的问题是,如果我知道用户在页面上可以生成友好的URL并且他们选择将其加入书签,那么有没有办法告诉浏览器为友好的页面添加书签而不是什么在地址栏中?

+3

你是否控制应用程序?如果是这样,为什么不把丑陋的URL重定向到漂亮的服务器端? – John 2010-08-31 14:56:39

+0

想到这一点,但如果我打算这样做,我可能会更改应用程序只生成友好的链接。有几个原因为什么这不适合我的应用程序;对于一件事,我并不是真的想为用户导航到的每个页面重定向302。同时维护这个应用程序的重写规则将被证明是有问题的。 – BCG 2010-08-31 15:10:52

回答

1

编号这是设计和一件好事。

想象一下下面的场景:Piskvor冲到http://innocentlookingpage.example.com/并点击“书签”。他没有注意到他保存的书签指向http://evilsite.example.net/下次他打开书签时,他可能会有点意外。

没有跨域问题又如: Piskvor上的http://security-holes-r-us.example.org/主页的站点管理员点击“书签” - 不幸的是,页面很容易受到脚本注入,以及注入的代码更改书签http://security-holes-r-us.example.org/admin?action=delete&what=everything&sure=absolutely。如果他在下一次打开书签时仍然登录,他可能会发现他的网站已清除了数据(当然,这是他的错,不是为了防止脚本注入并且有non-idempotent GET resources,但是这太常见了)。

+0

我同意你描述的场景,但我不想在这里跨域,所以我不认为这对于xmlhttprequest中的域范围cookie或SOP更危险。 – BCG 2010-08-31 15:13:26

+0

@bgould:确实。我知道你的意思是没有伤害,而且你知道;但信任是代码中最困难的事情之一,是正确的方式,没有安全漏洞。 “这是不允许的,永远”比“这是不允许的,除非当X和Y,但不是当Y和Z,以及满月时”更容易(并且随后更安全)。 – Piskvor 2010-08-31 15:15:23

1

我曾希望rel="canonical"在这里会有帮助,但它似乎只用于索引。也许有一天浏览器会利用它。

+0

+1,因为虽然这不能解决问题,但无论如何我都需要搜索引擎索引。 – BCG 2010-08-31 15:08:04

相关问题