접속기록

접속기록

QA

접속기록

답변 3

본문

접속자 기록을 기록을 남기기 위해서  아래 코드를 넣었습니다.

이것은 하루에 여러번 방문해도 한번만 기록에 남기려고한 것입니다.

 


// 방문자 정보 가져오기
$ip_address = $_SERVER['REMOTE_ADDR'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$visit_date = date('Y-m-d');
// 동일 사용자 중복 체크
$sql = "SELECT COUNT(*) AS count FROM visitor_records WHERE ip_address = '{$ip_address}' AND user_agent = '{$user_agent}' AND access_date = '{$visit_date}'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
if ($row['count'] == 0) {
    // 중복되지 않은 경우에만 기록
    $sql = "INSERT INTO visitor_records (ip_address, user_agent, access_time, access_date)
            VALUES ('{$ip_address}', '{$user_agent}', NOW(), '{$visit_date}')";
    if ($conn->query($sql) === TRUE) {
        // 세션에 기록 상태 저장
        $_SESSION['bookcafe'] = true;
    } else {
        error_log("Error: " . $conn->error);
    }
}

 

그런데 디비의 접속 기록을 보니

3526878085_1737312443.5341.png

 

하난의 IP에 거의 같은 시간으로 6개가 기록되었습니다.

user_agent가 다 다른데, 이데 어덯게 된 것인지 아시는 분이 계실까요?

이 질문에 댓글 쓰기 :

답변 3

기록만 봐서는 봇인거 같고, 다양한 리눅스 매킨토시 윈도우인거 보니 기기별 접속 테스트? 뭐 이런 봇일 가능성이 잇습니ㅏ.

기기별로 접속을 다르게 해서 내부 아이피로 사용하는 PC로 적용된거라 해당 아이피의 다른 OS 환경으로 접속되는걸로 확인되는게 아닌가 싶긴 한데 해당 아이피의 접속의 주기가 같은 시간대인데 얼마나 많이 요청이 있는지를 보고 판단해서 트래픽 발생유무를 확인해 보셔서 대응하시면 되실듯 합니다.

기기까지 체크해서 그러신거 같네요.

아이피는 같지만 기기는 다르게 체크되니 아이피 별로 하실려면 

$sql = "SELECT COUNT(*) AS count FROM visitor_records WHERE ip_address = '{$ip_address}' AND user_agent = '{$user_agent}' AND access_date = '{$visit_date}'";
에서
user_angent 빼시고 시간도 동일 시간이 아닌 날짜로 비교하게 쿼리문을 변경하셔야 할 거 같습니다.
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129
© SIRSOFT
현재 페이지 제일 처음으로