2015-11-12 25 views
3

我們假設我加載了一個過濾頁面,並且基於之前設置的cookie,我想通過向我的url添加一些查詢參數來重新加載頁面。 事情是這樣的:使用Javascript在頁眉中重定向被認爲是不好的做法?

<head> 
    <script> 
     if (need_to_load_with_different_params) { 
      window.location.href = window.location.href + params_from_cookie; 
     } 
    </script> 
</head> 

我不記得看到使用這種模式的Web應用程序。這是否有充分的理由? 我應該將這種邏輯移到服務器端嗎?

(使用jquery.cookie簡化cookie的閱讀,如果有什麼差別)

+3

您可能會看到FOUC,但沒有問題與該代碼。儘可能做這個服務器端會更好。 –

+0

感謝@RoryMcCrossanm,你是對的,我在服務器端做。 – DDan

+1

爲了能夠讓任何人回答您的問題,您首先必須解釋在這種情況下「危險」的含義。 – PeeHaa

回答

3

正如評論說@Rory McCrossan,這將是更好地做到這一點的服務器端。

幾個原因:

  • 用戶可以禁用了JavaScript
  • 導航會感覺凌亂(客戶端請求 - >服務器響應 - > JavaScript腳本 - >客戶端請求 - >服務器效應初探 - > HTML解析之前實際上有整頁)

原來的答案:應該不被認爲是安全的:在任何情況下,頁面的其餘內容將被用戶下載(如果JavaScript被禁用,重定向不會發生)

+0

什麼使它在特定的情況下不安全?確定用戶可以在重定向發生之前看到內容,但這不是安全的? – PeeHaa

+1

如果未經授權的用戶不能訪問正文中的內容(並且驗證是在JS中進行的)。 *考慮到問題的變化,我的答案現在完全不相關* – oliverpool

相關問題