3 回答

TA貢獻2051條經驗 獲得超10個贊
第一個問題,由于BS結構的特點是基于請求和應答的,換句話說,服務器處于被動位置,客戶瀏覽器處于主動為止,如果你不主動發出請求,服務器是不會鳥你的,或者說,服務器根本就不知道你是誰!
要想實現你的需求,可以在JSP頁面放置一個定時器,用JavaScript搞,通過Ajax異步請求服務器,做登錄狀態輪詢,如果發現在別的地方登錄了,強制下線。
這樣的話,就需要一個狀態保存的容器,這個自己去搞吧,實現方案很多的。
第2個問題就更簡單了,登錄失敗時,修改計數器的值,例如設置為錯誤3次就鎖定,那么沒錯誤一次就減1,到0就不讓登了唄,然后啟動一個解鎖定時器線程,在設定的時間后將這個值修改成3
這些參數都是可以人為設定的

TA貢獻1893條經驗 獲得超10個贊
thinkphp中通過操作cookie來保存用戶登錄信息到本地。
cookie方法是ThinkPHP內置的函數,用于完成cookie的設置、獲取和刪除操作。
設置cookie:
cookie('name','value'); //設置cookie
cookie('name','value',3600); // 指定cookie保存時間為1小時
高級設置:
cookie('name','value',array('expire'=>3600,'prefix'=>'think_')); // 指定有效期和前綴
// 下面的代碼和上面等效
cookie('name','value','expire=3600&prefix=think_')
獲取cookie:
$value = cookie('name');
- 3 回答
- 0 關注
- 995 瀏覽
添加回答
舉報