好處

2012-05-04 21 views
4

登錄後我看到許多網站(如使用vBulletin的)那個有...好處

謝謝!您已成功登錄。單擊此處以繼續

page。

這樣做有什麼好處/好處嗎?那和不重定向有什麼區別?

回答

3

流動重定向網站是以下(首戰頁面在這裏是指的你的「登陸」 - 面積的第一頁):

login page --(login data)--> redirect page ----> opener page 

與此相反的流動沒有它:

login page --(login data)--> opener page 

當用戶在開啓者頁面並點擊重新加載時,會出現差異。在第一種情況下,只是頁面重新加載,並且所有內容都(很好)很好。

但是,在第二種情況下,將再次發送登錄數據。這有兩個結果:

  1. 大多數瀏覽器都會顯示「你確實想重發這些數據嗎?」對話框給用戶。可能會讓用戶感到困惑;甚至可能這麼多,他離開你的網站。
  2. 在後端可能會觸發另一個登錄過程。這可能會造成對多次登錄或用戶活動記錄的一些保護。

一般來說,第一個結果是非常關鍵的,因爲第二個結果可以被你作爲頁面開發者阻止。所以基本上你可以通過不用一個(不必要的)對話框來對付他們一些時間來保存你的用戶,而一個快樂的用戶是一個反覆出現的用戶。評論後

編輯

@Christoph:上述模式被稱爲PRG-pattern

@CodeCaster:而不是一個單獨的頁面,只需在登錄後直接發送的響應頭一個302-redirect

+0

完美答案。想象一下,你有一個日誌來生成一個報告,告訴你誰登錄了哪裏。如果您不重定向,並且用戶重新加載,他很有可能會在您的日誌中出現兩次。 –

+1

它被稱爲PRG模式。 – Christoph

+1

確實可能會阻止'重新發送POST數據?'當在瀏覽器中單擊「返回」時彈出,但在兩者之間放置頁面只會在單擊「後退」按鈕兩次時顯示該彈出窗口......更好的方法是在成功登錄後發送302重定向。這真是一個不容易理解的頁面,它只會減慢體驗。「哦,多好,我登錄了,我完全沒有想到在輸入我的憑據後」。 – CodeCaster

0

當您不想使用javascript繼續進行用戶登錄時,此解決方案在我看來是最好的。 你可以使用這個,但我更喜歡登錄後自動重定向用戶。

用戶交互的最佳方式是在我的腦海裏JavaScript的登錄。 你不重定向用戶,不重新加載頁面,它的速度更快

+0

但是,然後可以通過JS訪問登錄cookie,這可能允許攻擊者使用XSS攻擊模擬您。見餅乾唯一的HTTP標誌:http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html或http://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie –