簡體   English   中英

會話在 30 分鍾以上不活動后自動終止?

[英]Session getting terminated after 30+ minutes of inactivity automatically?

我正在開發一個項目,我需要有多個用戶的登錄系統,每個用戶都將登錄並將表單條目保存在文件中。 我最多有 10 個內部用戶,這個項目僅供內部用戶使用。

這是想法 -

  • 我有一個帶有兩個文本框和一個保存按鈕的簡單表單。 此頁面上還有一個logout鏈接。 這個頁面叫做index.php
  • 一旦用戶在login.php頁面成功登錄,他將被重定向到具有上述表單的index.php頁面。
  • 現在用戶將在index.php頁面的文本框中輸入一些條目,然后單擊保存按鈕。 單擊保存按鈕后,數據將作為 json 保存在文件中,並且會彈出警告框顯示文件中寫入的數據(或文件中寫入是否有任何問題)。
  • 一旦我單擊logout按鈕,它就會重定向回login.php頁面。

現在,整個系統適用於多個用戶,如果多個用戶登錄,則在給定時間只允許一個用戶將條目保存在文件中。

情況1:

  1. 如果“userA”第一次登錄成功,那么他可以將表單條目保存在一個文件中。
  2. “userA”注銷。

案例2:

  1. 現在“userB”成功登錄。 然后他應該能夠通過覆蓋將表單條目保存在同一文件中。
  2. “userB”注銷。

案例3:

  1. 現在“userA”再次成功登錄。 他正在努力改變形式。
  2. 而“userB”試圖從不同的瀏覽器突然登錄。 然后他應該可以看到一個提示,告訴userA is logged in. Do you want to take over? . 如果他點擊ok按鈕,那么他應該登錄成功。 但是如果他點擊cancel按鈕,那么他將無法登錄。
  3. 假設“userB”單擊“確定”按鈕並且他現在也登錄了。 此時,“userA”和“userB”都已登錄。因此,一旦“userB”登錄,那么如果“userA”嘗試單擊表單中的保存按鈕,嘗試將條目保存在文件中,那么它應該彈出來告訴您“由於 userB 現在登錄,寫訪問權被撤銷”。 因此,用戶 A 仍然可以看到表單,但由於他的寫訪問權限被撤銷,因此不應保存任何內容。

案例4:

  1. 如果“userC”也登錄成功。 現在我們所有三個用戶都登錄了。此時只有“userC”應該能夠進行更改,因為“userA”和“userB”的寫訪問權限將被撤銷。
  2. 但是如果“userC”注銷,那么“userB”應該能夠在他嘗試保存時保存表單。 因為“userB”訪問權限最后被撤銷,因此如果“userC”注銷但“userA”訪問權限仍將被撤銷,他將恢復訪問權限。

問題陳述

php 服務器中是否有某些內容可以在特定時間段后終止我的會話。

這取決於服務器配置或相關指令http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime在 php.ini

通常默認值為 24 分鍾(1440 秒),但您的虛擬主機可能已將默認值更改為其他內容。

更新

根據 OP 新評論。

如果會話存儲在文件中,則將權限 777 授予您服務器中的存儲目錄。 如果您將會話存儲在數據庫中,那么我們必須找出其他替代解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM