2011-11-04 19 views
8

我們已經在發出普通電子郵件的鏈接的系統,其中許多包含URL編碼參數,比如這個:的Hotmail與編碼的URL搞亂參數

href="http://www.mydomain.com/login.aspx?returnurl=http%3A%2F%2Fwww.mydomain.com%2Fview.aspx%3Fid%3D1234%26alert%3Dtrue" 

您可以看到「RETURNURL」參數編碼。然而,似乎我們的大量用戶的(貌似Hotmail等)與此paramater 接收的電子郵件部分解碼如:

href="http://www.mydomain.com/login.aspx?returnurl=http://www.mydomain.com/view.aspx?view.aspx%3Fid%3D1234%26alert%3Dtrue" 

它爲什麼會解碼這個樣子?爲什麼只能部分解碼?因此我不知道如何處理它。我想到了base64編碼,但是base64字符串包含的字符也需要解碼......我想到了雙重編碼,但是我不知道是否要對參數進行雙重解碼......任何人都可以幫忙嗎?謝謝。

+0

我們也爲seis與hotmail用戶。鏈接工作正常在Gmail等人? – Anders

回答

0

的一個原因,這可能會發生是因爲編碼URL規則are different before and after?所以如果是做解碼裝置是否可以從網址和蘋果查詢解碼規則「後退」,直到它找到第一?那麼這可能會導致問題,你正在描述...

不知道如何處理它,但據我所知,這種不適當的解碼系統是不受你控制的。我會盡力隱藏?作爲回報url查詢莫名其妙...