屆期自動解禁功能實現

來源:互聯網
上載者:User
到期自動解禁功能實現
朋友們..想請教一個問題...假如我封鎖一個使用者一天....一天到期後,自動解禁功能通常是怎麼實現的呢?..
------解決方案--------------------
指令碼定期執行,把到期解禁的使用者解禁
------解決方案--------------------
引用:
Quote: 引用:

解禁的前提是使用者要登入,如果使用者因封鎖不再登入了,你怎麼解也都沒有用
封鎖的資訊是與使用者關聯的,只要在使用者登入時檢查一下就可以了
如需要修改狀態,也在此時

多謝版主大神,,我想實現的是,封鎖該使用者發言功能..但是其他比如瀏覽等功能照常...
我這樣設想:
正常使用者`狀態欄位`都是1...
禁言使用者 `狀態欄位` 設為time()+禁言時間...
每次許可權判斷都要看一下`狀態欄位`值是否小於time()...
但是這樣 sql查詢時.....但是每次判斷是否小於time() 肯定沒有判斷是否為1來的快吧...

同意在登陸時做檢查。
1.封鎖使用者最多佔網站整體使用者的20%(如果封鎖使用者到達80%,那這個論壇也就快關了),沒必要用80%的時間做各種各樣的設計和開發(諸如自動執行指令碼之類,這會給你增加維護成本);
2.封鎖使用者並非網站的典型使用者,即使他登陸時,sql查詢慢點,有何不可?別本末倒置;
------解決方案--------------------
引用:
Quote: 引用:

解禁的前提是使用者要登入,如果使用者因封鎖不再登入了,你怎麼解也都沒有用
封鎖的資訊是與使用者關聯的,只要在使用者登入時檢查一下就可以了
如需要修改狀態,也在此時

多謝版主大神,,我想實現的是,封鎖該使用者發言功能..但是其他比如瀏覽等功能照常...
我這樣設想:
正常使用者`狀態欄位`都是1...
禁言使用者 `狀態欄位` 設為time()+禁言時間...
每次許可權判斷都要看一下`狀態欄位`值是否小於time()...
但是這樣 sql查詢時.....但是每次判斷是否小於time() 肯定沒有判斷是否為1來的快吧...

為什麼要每次SQL查詢來判斷呢?你可以在登陸的時候就把資料讀出來,跟登陸狀態放一起(一般是Session或者Cookie),直接與這裡的資料對比就行了。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.