鍍金池/ 問答/PHP  Linux  HTML/ 關(guān)于PHP中保存在服務(wù)器中的對應(yīng)會話的SESSION內(nèi)容會改變的問題

關(guān)于PHP中保存在服務(wù)器中的對應(yīng)會話的SESSION內(nèi)容會改變的問題

遇到一個問題,想請教一下各位大佬幫著分析解決一下。

問題如下:

用戶在登錄時,將用戶的一些信息使用例如:$_SESSION['token'],$_SESSION['username']等這樣,保存在SESSION文件中,用戶在查看一些需要調(diào)取數(shù)據(jù)的頁面的時候,ajax會根據(jù)$_SESSION['token']去驗證一下用戶token的有效性。

問題出在,用戶在登陸后,停留在當前頁面一段時間,比如半小時,再刷新整個頁面的時候,或者跳轉(zhuǎn)到其他需要調(diào)取數(shù)據(jù),驗證token的頁面的時候,會觸發(fā)設(shè)置的會話超時,請重新登錄的彈窗提示。但是我這邊并沒有設(shè)置相關(guān)過期時間。

經(jīng)過監(jiān)控發(fā)現(xiàn),用戶在登錄時,保存在對應(yīng)session文件中的token值改變了,問題來了,用戶并沒有重新登錄,也沒有其他人使用該用戶去登錄,也就是說,登錄時生成并保存在數(shù)據(jù)庫中的token并沒有改變,但是為何session文件中的token值會變???

這就導致了使用$_SESSION['token']去對比數(shù)據(jù)庫的token時候出現(xiàn)不一致,然后才出現(xiàn)彈窗提示。

請問這個session文件中的token值為何會改變???能否有前輩指教一下問題出在哪里么?

回答
編輯回答
青瓷

session 默認有效時間24分鍾

2017年5月4日 09:00