本帖最后由 xuzuning 于 2012-08-06 13:15:07 编辑

解决方案 »

  1.   

    header(sprintf("Location: %s",'http://127.0.0.1')); 
    放在我的程序里怎么不报错啊??
    如果你是直接粘贴复制的 看看引号有没有错误。
      

  2.   

    正确代码:<?php
    date_default_timezone_set('PRC');
    $timestamp = time();
    session_start();
    $ll_nowtime = $timestamp ;
    if (isset($ll_nowtime)){
      $ll_lasttime = $_SESSION['ll_lasttime'];
      $ll_times = $_SESSION['ll_times'] + 1;
      $_SESSION['ll_times'] = $ll_times;
    }else{
      $ll_lasttime = $ll_nowtime;
      $ll_times = 1;
      $_SESSION['ll_times'] = $ll_times;
      $_SESSION['ll_lasttime'] = $ll_lasttime;
    }if (($ll_nowtime-$ll_lasttime)<3){
      if ($ll_times>=5){
        header(sprintf("Location: %s",'http://127.0.0.1'));
        exit();
      }
    }else{
      $ll_times = 0;
      $_SESSION['ll_lasttime'] = $ll_nowtime;
      $_SESSION['ll_times'] = $ll_times;
    }
    ?>
      

  3.   

    google一下,这是一个防止cc程序
    楼主提供的程序在本地运行报错,稍微修改了一下,经测试可以运行<?php
    session_start();  //开启session
    $timestamp = time();      
    $ll_nowtime = $timestamp ; 
     
     //判断session是否存在 如果存在从session取值,如果不存在进行初始化赋值
    if ($_SESSION){           
      $ll_lasttime = $_SESSION['ll_lasttime'];  
      $ll_times = $_SESSION['ll_times'] + 1;
      $_SESSION['ll_times'] = $ll_times;
    }else{
      $ll_lasttime = $ll_nowtime;   
      $ll_times = 1;     
      $_SESSION['ll_times'] = $ll_times;   
      $_SESSION['ll_lasttime'] = $ll_lasttime;
    }//现在时间-开始登录时间 来进行判断  如果登录频繁 跳转  否则对session进行赋值 
    if(($ll_nowtime - $ll_lasttime) < 3){  
      if ($ll_times>=5){
     header("location:Http://www.baidu.com"); 
         exit;
      }
    }else{
      $ll_times = 0;
      $_SESSION['ll_lasttime'] = $ll_nowtime;
      $_SESSION['ll_times'] = $ll_times;
    }
    ?>