php是什么 PHP初級(jí)程序員如何提升自己?
PHP初級(jí)程序員如何提升自己?PHP:基本面向?qū)ο笤O(shè)計(jì)模式框架數(shù)據(jù)庫:優(yōu)化緩存主從服務(wù)器:apachenginx服務(wù)器構(gòu)建環(huán)境配置我們知道session和cookie可以一起使用,實(shí)現(xiàn)會(huì)話跟蹤和控制。
PHP初級(jí)程序員如何提升自己?
PHP:基本面向?qū)ο笤O(shè)計(jì)模式框架數(shù)據(jù)庫:優(yōu)化緩存主從服務(wù)器:apachenginx服務(wù)器構(gòu)建環(huán)境配置我們知道session和cookie可以一起使用,實(shí)現(xiàn)會(huì)話跟蹤和控制。在某些情況下,可能需要執(zhí)行單個(gè)IP限制登錄。許多開發(fā)人員可能會(huì)考慮使用session來實(shí)現(xiàn)單個(gè)IP限制登錄,但他們不能僅依賴session。
基于第一步,當(dāng)用戶成功登錄時(shí),需要獲取用戶的真實(shí)IP,然后進(jìn)行存儲(chǔ)。常用的存儲(chǔ)方法有:緩存文件、數(shù)據(jù)庫、文件??紤]到性能,我們建議用戶的真實(shí)IP可以存儲(chǔ)在NoSQL中,比如redis。
具體思路是:用戶登錄成功后,獲取用戶的真實(shí)IP,從數(shù)據(jù)庫中找到當(dāng)前登錄用戶的唯一ID值,將用戶的唯一uid存儲(chǔ)為redis的密鑰,該值為用戶的IP。
完成上述兩個(gè)步驟后,您需要處理登錄和注銷邏輯。具體規(guī)則如下:
1。每次登錄成功后
在每次登錄操作中,在驗(yàn)證用戶名和密碼是否正確后,需要檢查用戶uid對(duì)應(yīng)的redis值(如果是cookie),如果redis中有值,則表示該用戶已經(jīng)登錄過,然后進(jìn)一步判斷該用戶當(dāng)前IP是否與當(dāng)前IP一致上次登錄IP。如果沒有,則表示用戶已經(jīng)在多個(gè)地方登錄,然后根據(jù)業(yè)務(wù)進(jìn)行進(jìn)一步的處理。
2. 注銷操作
當(dāng)用戶注銷時(shí),還需要同步刪除redis中的記錄。