3 回答

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

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