不需要考虑ip的问题, if (++$_SESSION['flag'] == 10) {
 // do something code here.
}

解决方案 »

  1.   

    不用去比较ip,因为session会在生成时会生成一个唯一的ID.session会自己去判断.
      

  2.   

    不怎么明白,用户都没登陆,怎么能生成ID.session?
    也有可能用户1在这台电脑上登陆了5次没成功,另一个用户2又在同一台电脑登陆了5次没成功。那到底是禁止这台电脑登陆呢?还是???
    不知道怎么判断了
    晕呼....
      

  3.   

    1、
    session是由浏览器和服务器“维持”的,换PC、换浏览器、关浏览器、禁用cookie都会导致session丢失。
    session+IP统计是无效的,原因在于:session丢失后,session记录的IP也做废。IP换了,session自然变新的(除非伪造,这里不讨论)2、
    如果lz的意思是帐号登陆10次就拒绝,那就以帐号为比较。最好使用数据库,每个帐号设立【最近登陆时间】,【最近登陆失败次数】,【lock】。
    a、检查数据库,若【lock】,转b,否则转c
    b、若now-【最近登陆时间】>规定时间,则【unlock】,转c,否则转e
    c、显示登陆页面,Password通过,转f,否则转d
    d、【最近登陆失败次数】+1,若【最近登陆失败次数】>10,则【lock】,【最近登陆时间】=now,转e,否则转c
    e、拒绝浏览。
    f、登入3、尽量不要使用IP,由于IP重用的原因,误伤很大。
      

  4.   

    若不使用数据库,则必须有一个全局帐号的数组表,方法同数据库类似,但是用户多了开销~~还有一种办法,就是吧当然还把【最近登陆时间】,【最近登陆失败次数】,【lock】放在客户端cookie里,这实现简单,但是人家禁用或者修改cookie你就废了。
      

  5.   

    session是基于一个会话时间段的,关闭浏览器,删除cookies,session就没有了,而LZ是要账号的长期的累计的错误,肯定要用数据库或文件保存下来,登录的时候读出来比较就是了,IP不关事,可以忽略。
      

  6.   

    要么Cookie,要么SESSION,或者是在服务器用一个文本专门记录登陆错误的,那么这样也相当于是用表了.