首頁  >  文章  >  後端開發  >  届期自动解禁功能实现

届期自动解禁功能实现

WBOY
WBOY原創
2016-06-13 12:04:51851瀏覽

到期自动解禁功能实现
朋友们..想请教一个问题...假如我封禁一个用户一天....一天到期后,自动解禁功能通常是怎么实现的呢?.. 
------解决方案--------------------
脚本定期执行,把到期解禁的用户解禁
------解决方案--------------------

引用:
Quote: 引用:

解禁的前提是用户要登录,如果用户因封禁不再登录了,你怎么解也都没有用
封禁的信息是与用户关联的,只要在用户登录时检查一下就可以了
如需要修改状态,也在此时

多谢版主大神,,我想实现的是,封禁该用户发言功能..但是其他比如浏览等功能照常...
我这样设想:
正常用户`状态字段`都是1...
禁言用户 `状态字段`  设为time()+禁言时间...
每次权限判断都要看一下`状态字段`值是否小于time()...
但是这样 sql查询时.....但是每次判断是否小于time() 肯定没有判断是否为1来的快吧...

同意在登陆时做检查。
1.封禁用户最多占网站整体用户的20%(如果封禁用户到达80%,那这个论坛也就快关了),没必要用80%的时间做各种各样的设计和开发(诸如自动执行脚本之类,这会给你增加维护成本);
2.封禁用户并非网站的典型用户,即使他登陆时,sql查询慢点,有何不可?别本末倒置;
------解决方案--------------------
引用:
Quote: 引用:

解禁的前提是用户要登录,如果用户因封禁不再登录了,你怎么解也都没有用
封禁的信息是与用户关联的,只要在用户登录时检查一下就可以了
如需要修改状态,也在此时

多谢版主大神,,我想实现的是,封禁该用户发言功能..但是其他比如浏览等功能照常...
我这样设想:
正常用户`状态字段`都是1...
禁言用户 `状态字段`  设为time()+禁言时间...
每次权限判断都要看一下`状态字段`值是否小于time()...
但是这样 sql查询时.....但是每次判断是否小于time() 肯定没有判断是否为1来的快吧...

为什么要每次SQL查询来判断呢?你可以在登陆的时候就把数据读出来,跟登陆状态放一起(一般是Session或者Cookie),直接与这里的数据对比就行了。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn