2011-10-13 64 views
0

前提很簡單。Magento永久客戶會話

新客戶到達我們的網站,被重定向到註冊/登錄頁面(因爲他們是一個新的訪問者,並且沒有cookie存在)並且註冊或登錄後(如果已經有一個賬戶但是從另一臺機器訪問/瀏覽器)他們被帶到主頁。

每當他們隨後參觀,他們不應該看到註冊/登錄頁面(除非他們明確地登出,禁用Cookie /阻塞,或者他們從不同的瀏覽器/設備訪問)。

我認爲從理論上講,在重定向到註冊/登錄頁面之前,將cookie值設置爲一個非常高的數字(在我們的例子中爲30+年)並檢查該cookie是否存在。

在我們的案例中並非如此。我覺得這個會話大概持續大約一個小時左右,然後再回到網站的主頁重定向用戶註冊/登錄。

那我在這裏失蹤?有什麼建議?

---編輯--- 我已經被我們的Web主機的session.gc_maxlifetime不是問題放心。我在開發服務器上將其設置爲86400,並且在我的瀏覽器閒置一晚後,我在第二天返回,我認爲它按預期工作。

我遇到的一個問題是,它也將magento管理超時設置爲相同的值,如果員工被授予Magento管理員訪問權限,然後被解僱/退出/等等,這可能會帶來安全風險。只要我們希望客戶會議持續(幾個月),我當然不希望他們的會議繼續進行。

我希望在CONFIG >>高級>> ADMIN >>安全>>會話有效期設置不受此覆蓋。

+0

嗨pspahn,你遇到了什麼問題,你是否找到了解決方案? –

+0

我有幾天沒有時間回到這個問題。謝謝你的幫助。 – pspahn

回答

0

你的問題是最有可能需要增加以匹配在Cookie持續時間值的PHP會話值;在你的php.ini把下面:

session.gc_maxlifetime = 86400 

您需要更換什麼,你希望會話/ cookie的等效時間到最後我會建議您設置您的會話和cookie值」的「86400」值604800'大約一週。

這是怎麼回事您的服務器上發生的是,Magento的是VAR /會話文件夾下將每個會話的會話文件。這可能會導致您的服務器耗盡inode,這取決於您的服務器配置。

乾杯!

+0

但是86400的值是否足以讓用戶在一週內返回時保持開放會話?一個月?我很難相信,如果我們開始讓成千上萬的會話持續開放很長時間,這對服務器的性能會很好。 – pspahn

+0

此外,儘管fab.com不使用Magento(據我所知),但他們的做法是完美的。 – pspahn

+0

我可以建議的最好的事情是嘗試一下,具體取決於您的網站流量和服務器配置可能會或可能不會影響性能。 –