웹마스터 팁

제로카운터는 기본적으로 IP로 중복을 체크해서 오늘 방문한 사람을 구합니다.
하지만 IP체크는 서버에 부하가 많이 가게 됨으로 쿠키 체크로 바꾸면 서버에 부하를 줄일 수 있습니다.

제로카운터의 zerocount.php3 을 엽니다.
먼저 ip를 구하는 부분과 ip를 저장하는 부분을 주석 처리 해주어야 합니다.

21번째 정도의 줄에 보시면

// 지금 아이피로 접속한 사람이 오늘 처음 온 사람인지 검사
$check=mysql_fetch_array(mysql_query("select count(*) from counter_ip where date>=$today and date<$tomorrow and ip='$user_ip'",$connect));

을 주석 처리 해줍니다.
// 지금 아이피로 접속한 사람이 오늘 처음 온 사람인지 검사
//  $check=mysql_fetch_array(mysql_query("select count(*) from counter_ip where date>=$today and date<$tomorrow and ip='$user_ip'",$connect));

30번째 정도의 줄에 보시면

// 오늘 시간대별 ip 입력
mysql_query("insert into counter_ip (date, ip) values ('$time','$user_ip')",$connect);

을 주석 처리 해줍니다.
// 오늘 시간대별 ip 입력
//   mysql_query("insert into counter_ip (date, ip) values ('$time','$user_ip')",$connect);

그러신 후
22번째 줄을 보시면
아까 주석 처리한
  // 지금 아이피로 접속한 사람이 오늘 처음 온 사람인지 검사
//  $check=mysql_fetch_array(mysql_query("select count(*) from counter_ip where date>=$today and date<$tomorrow and ip='$user_ip'",$connect));
이 있습니다.
여기 아래에 다음의 내용을 넣어 줍니다.


if($HTTP_COOKIE_VARS[zerocount]){ // 저장된 쿠키가 있을때
    if($HTTP_COOKIE_VARS[zerocount]<time()-(86400*1)){ // 하루 이전 일때 86400 은 하루
        $check[0] = 0;
        // 쿠키 새로 굽기
        setcookie(zerocount,time(),time()+86400,"/");
    }else{        // 하루가 안 지났을때
        $check[0] = 1;
    }
}else{        // 저장된 쿠키가 없을때
    $check[0] = 0;
    // 쿠키 굽기
    setcookie(zerocount,time(),time()+86400,"/");
}

* DeX™님에 의해서 게시물 이동되었습니다 (2004-01-27 09:42)