大家好,我们公司网站的论坛允许匿名发帖,但总有无聊的人重复发好多无聊的帖子,请问各位,有什么好的办法控制一下吗?

解决方案 »

  1.   

    用ip限制不现实的,很多公司内网访问过来的人ip显示都一样的,除非能取到mac地址,不然区分不出来的。
    不允许匿名发帖是最好的解决办法,如果要考虑到有些人发帖不想被人知道发帖人姓名,可以增加发帖时采用可以匿名这个功能,即显示时把发帖人姓名隐藏。但对后台管理员来说,账号是对应的,所以就比较好管理。
      

  2.   

    目下假设你的发帖流程是这样帖子列表-->点击发帖-->进入发帖页面---〉发完帖返回帖子列表页面
    =================================================================================
    你的帖子列表页面上放一个hidden,比如<input type="hidden" name="last_topic_time" value="上次发帖时间" />初始时,没有发帖自然是空
    用户发完帖子后,返回帖子列表页面,request.setAttribute("time",new Date());
    把这个时间放到hidden里,如果在此点击发帖按钮,你就可以根据这个时间来判断两次发帖间隔是否太短,决定是否允许发帖
      

  3.   

    你这是回复嘛,不是发帖嘛.....
    那你这个页面就是回复的列表了
    也可以的,还是放个hidden在页面上,点击了发表后还是在request里放个发回复时间,下次再点击发表就可以判断了
      

  4.   

    另一个方法
    不管是匿名用户还是注册用户都给他们一个session(确保他们有session过滤器就可以实现)
    session里放着他们上一次回复时间和上一次发帖时间,这样就可以判断了吧
      

  5.   

    这个时间不是hidden在页面上的么?是在发帖人的页面上的,不是在数据库里
      

  6.   

    用cookie应该也可以的吧,用户第一次点击发帖时,服务器生成一个唯一id,获取当前时间,然后将它们放到cookie,下次用户发帖时判断一下这个id和时间,就可以了
      

  7.   

    赫赫,个人选择了,我是很不喜欢用cookie的