防灌水该如何限制?

432345 2014-02-25 02:54:31
我先说下需求,为了防止用户发帖过于频繁,要限制隔多久才能再发。现在想到的方法有,1.使用数据库包括每个用户最后的发帖时间,然后判断。2,使用缓存,memcache,设置缓存过期时间为间隔的时间。到底有什么好的方法可以做到,在禁止发帖的时间内,还要提示你可以隔多少时间再发帖。。
...全文
280 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-02-28
  • 打赏
  • 举报
回复
用数据库或memcache记录吧,session 与 cookie记录效果不大。一清掉就没了。
JPF1024 2014-02-27
  • 打赏
  • 举报
回复
验证码不也可以的吗?
深圳phper 2014-02-27
  • 打赏
  • 举报
回复
可以试着将最近一次发帖时间存在cookie中,用户每次去cookie中取一下。
432345 2014-02-26
  • 打赏
  • 举报
回复
432345 2014-02-25
  • 打赏
  • 举报
回复
引用 7 楼 jordan102 的回复:
最后发帖时间戳+30秒-当前时间戳 就是剩余时间
这个算知道是怎么算,用户发帖的时候不是都要去数据库查询下吗,虽然30秒内查看的时间是一样的,但还是要查询才能知道最后时间。
一起混吧 2014-02-25
  • 打赏
  • 举报
回复
最后发帖时间戳+30秒-当前时间戳 就是剩余时间
432345 2014-02-25
  • 打赏
  • 举报
回复
引用 5 楼 jordan102 的回复:
为什么只能用session来保存最后发帖? 数据库不是也可以吗?
不是说不可以,现在要实现这样一个效果,比如30秒是时间间隔,在我发成功后,再次发的时候会提示,29秒内不能发帖,随着时间走提示,直到超过30秒
一起混吧 2014-02-25
  • 打赏
  • 举报
回复
为什么只能用session来保存最后发帖? 数据库不是也可以吗?
432345 2014-02-25
  • 打赏
  • 举报
回复
引用 3 楼 jordan102 的回复:
你的第一种方法就可以
第一种的话,在被禁止发帖的时候,我要提示还剩多久可以发帖,那我只能用session来保存最后发帖了。
一起混吧 2014-02-25
  • 打赏
  • 举报
回复
你的第一种方法就可以
码无边 2014-02-25
  • 打赏
  • 举报
回复
sessionid
csdn醒哥 2014-02-25
  • 打赏
  • 举报
回复
no have

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧