Tip & Tech

활용팁

홈 > 회원포럼 > 활용팁
활용팁

현재 접속자 정보에 로봇 모두 제외시키기

2 재니짱 2 308 2 0

접속정보에 보면 로봇이 엄청나게 많이 붙어있는데, 이것이 보기 싫은 분을 위한 코드입니다.


이 코드를 사용하면, 봇은 접속할 수 있으나, 흔적이 전혀 남지 않으므로, 사용에 유의하시기 바랍니다.


/lib/common.lib.php 소스를 열어보시면 


약 2800 라인 정도에  function run() 이라는 함수가 있습니다.


함수시작부분부터 약 15라인 정도 내려가면 else{ 바로 뒤에


 $tmp_sql = " insert into {$g5['login_table']} ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '{$_SERVER['REMOTE_ADDR']}', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$g5['lo_location']}',  '{$g5['lo_url']}' ) ";

                sql_query($tmp_sql, FALSE);


이부분이 있는데, 이부분이 접속정보를 DB에 저장하는 부분입니다.


 $agent = $_SERVER['HTTP_USER_AGENT'];

            if( strpos($agent,'bot') === false && strpos($agent,'Google') === false && strpos($agent,'Yeti') === false && strpos($agent,'NAVER') === false) {// 봇이 아니면 삽입

              $tmp_sql = " insert into {$g5['login_table']} ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '{$_SERVER['REMOTE_ADDR']}', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$g5['lo_location']}',  '{$g5['lo_url']}' ) ";

                sql_query($tmp_sql, FALSE);

            }


파란색 부분이 추가된 부분입니다. 

bot들의 종류가 많고, 이름이 다양해서, 조건이 좀 깁니다. 

추가로 발견되는 봇이 있으면, if 조건문에 추가하면 됩니다.


2 Comments
2 해피정 08.13 21:00  
봇이 방문할때 아닌척 하면서 오기도 한다고 하네요
https://sir.kr/cm_free/1477915

다양한 봇을 정리한 자료는 http://www.happyjung.com/lecture/2619 참고하세요
11 키키™ 08.14 07:31  
봇이 방문했을 때 노출되는 페이지와 일반 브라우저 접속시 노출되는 페이지를 점검하는 경우라고 봐야해요.
봇을 속이는 훼이크를 웹문서들이 많거든요.
예전 웹문서 마켓팅 하시는 분들보면 접속로그 분석하다가 네이버 웹문서 관리쪽 IP 찾기도 하더군요.
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory NaverBand