2012-05-09 20 views
0

所以我有一個我們建立在codeigniter上的框架。它默認使用常規的codeigniter會話,允許在cookie上加密4kb的存儲。在一個codeigniter應用程序中同時使用常規(4kb)會話和數據庫會話?

它適用於需要註冊過程的一般應用程序,這些應用程序的大小可能會有所不同,因爲問題是通過管理面板動態生成的。註冊過程在整個過程中重定向時依賴於會話數據。

我以前使用過db_sessions,當我知道這將是一個框架問題,但是,現在我正在考慮總是使用db_session註冊過程的可能性,並且該站點的其餘部分使用4kb cookie會話。

這是可能的。看起來這可能是一個非常糟糕的主意,但我不想重做動態註冊過程或真正使用整個站點的db_session,因爲如果有太多的用戶同時在線,它最終會使網站運行速度非常慢。

所以我認爲我可以只是在註冊控制器被加載時通過$ _SERVER或uri helper檢查url是否可以在配置中加載它,我猜我不能)。

這看起來似乎合理嗎?

回答

2

看起來這可能是一個非常糟糕的主意

你回答了你自己的問題:)你有問題,當從一個頁面的用戶切換到另一個。如果他們打開多個窗口,按下「後退」按鈕等,會發生什麼情況。您需要在開始註冊時切換Cookie,並在最後切換回去。基本上沒有收益,這將非常非常混亂。

,但我真的不希望返工動態註冊過程或 真正使用db_session對整個網站,因爲這將最終使 網站運行速度很慢,如果太多的用戶是在網上一次。

現實情況是;您的網站必須非常龐大,才能通過在會話中使用數據庫來解決任何實際的性能問題。如果你不使用數據庫,那麼你依賴於存儲在用戶計算機上的cookie。根據您的網站,這意味着他們可以編輯該cookie並更改「admin = true」或其他內容。

只是使用數據庫會話 - 我認爲你是過度複雜的情況。

+0

你真的沒有想過多個窗口。大聲笑,大多數這些網站永遠不會看到很多交通。如果我需要避免它,我總是可以重寫註冊過程。感謝您的建議。 – Rooster

相關問題