还得先判断是不是同一个ip,如果是同一个ip才去判断注册时间间隔是不是小于30分钟。
所以我建议注册时将来源ip和注册时间一并存进数据库,这样就可以实现了。

解决方案 »

  1.   

    这个我知道,我是对时间操作的函数或是语句不了解。
    VB可以用Datadiff,在C#中不知道。该怎么样判断两个时间的间隔数?
    就是说,把时间存在Cookeis或是Session后,再怎么样用当前时间和存在Session里的时间做比较?
      

  2.   

    ip 也不是很好的办法呀,现在网吧这么多,很多都是在网吧上的呢。建议不要提示。用户每次登陆更新数据库表中的登陆时间,在表中弄个job或者trigger删除那些3个月或者几个月不登陆的用户。
      

  3.   

    把ip,time都存入db.
    下次注册的时候去比较select count(*) from tableName where Ip=newIP and Time = newTime
      

  4.   

    要是重复发贴呢?
    我是问大家怎么样对时间进行比较得出结果
    比如在asp中:
    if DateDiff("s",Session("PostTime"),now())<100 then
      Response.Write("请不要灌水")
    end if可是把时间存Cookies
    if DateDiff("s",Request.Cookies("PostTime").value,now())<100 then
      Response.Write("请不要灌水")
    end if如果用C#写的asp.net该怎么样做?
      

  5.   

    在.NET里可以使用DATETIME的减法,MSDN上的原始例子如下:
    System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
    System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
    System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);// diff1 gets 185 days, 14 hours, and 47 minutes.
    System.TimeSpan diff1 = date2.Subtract(date1);// date4 gets 4/9/1996 5:55:00 PM.
    System.DateTime date4 = date3.Subtract(diff1);// diff2 gets 55 days 4 hours and 20 minutes.
    System.TimeSpan diff2 = date2 - date3;// date5 gets 4/9/1996 5:55:00 PM.
    System.DateTime date5 = date1 - diff2;
    你可以根据datetime的其他属性及方法来套这个方法就可以了。