2010-08-31 83 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

相關問題