2013-02-12 52 views
2

背景故事:我們運行一個擁有數千用戶和少數管理員的網站。其中一些管理員不需要全部訪問網站,所以我想通過給他們個人權限來限制他們的訪問。會話可以由用戶客戶端操縱嗎?

我的計劃是設置一個會話用戶登錄與用戶權限,如果給出任何。不過,我擔心這可能是一個不安全的行爲。

會話是否可以由用戶客戶端操縱?在這種情況下,如果普通用戶知道權限名稱併爲他們自己設置會話,則可以訪問管理功能。

我在Stackoverflow上發現了一些相關的問題,但他們沒給我足夠的關於這個主題的信息。

+0

您已經爲管理員和用戶提供了登錄,因此保存了他們擁有的權限類型,並賦予他們根據該權限修改數據的權限。只要您的會話狀態是加密的,在客戶端進行製作就非常困難。 – Garry 2013-02-12 14:28:15

+0

是的,會話可以由用戶客戶端操縱,首先我建議你使用HTTPS,而不是HTTP.Next你可以使用令牌來限制每次操作的時間。 – 2013-02-12 14:31:04

+0

我在會話中保存權限的原因,而不僅僅是選擇每個頁面加載的權限只是性能。這就是爲什麼我想知道我是否可以相信Sessions足以保存我的權限表中的數據。你說:「在客戶端操作是非常困難的」 - 我能讀懂它,因爲它基本上不可能或很容易做到。我知道cookies非常容易操縱客戶端。這是一樣的嗎? – KlaasJan 2013-02-12 14:33:39

回答

2

您已經爲管理員和用戶提供了登錄,因此保存了他們擁有的權限類型,並賦予他們根據該權限修改數據的權限。只要您的會話狀態是加密的,在客戶端操作就非常困難。 如果您擔心您現有會話的安全性,並且此處的Cookie是鏈接以確保安全。 Secure your Session

這是完整的文章如何使您的會話和cookie的安全...

0

確實是可以存儲服務器變量,如用戶代理,IP地址等等(甚至是JavaScript的變量) ,但它們僅用於驗證持久cookie數據是否與客戶端的新連接匹配。除了當你知道客戶端(只有你自己)不會在每個頁面加載(a la AOL)時都改變的時候,ip地址並不是一個好主意。

像LastPass這樣的現代Web瀏覽器和第三方服務可以存儲登錄證書,只需要按鍵(有時甚至不需要)將數據發送到登錄表單。持久性cookies只適用於那些拒絕使用其他方式的人。最後,持久的非會話cookie不再是真正需要的。

沒有安全Cookie這樣的東西,除非它只通過SSL傳輸。在使用持久非會話cookie(如記住我)時,它可以減輕一些問題,通過做你正在做的事情,但不是以你想要做的那種方式。

+0

SSL將是最好的,但你可以通過使用加密方案得到一個非常好的系統... – Garry 2013-02-12 14:39:12