php를 사용한 홈페이지 접속 로그 파일
글쓴이: gang / 작성시간: 화, 2005/05/31 - 10:14오전
졸업한지가 한참이 지났지만, 아직 재학 시절의 연구실 서버에 제홈페이지를 운영하고 있습니다. 그러다보니 서버에 대한 제어를 맘대로 할 수 없어서, 입맛대로 맘껏 홈페이지를 꾸밀 수는 없는 처지죠. 하지만, 좀 예전 버젼의 php는 사용할 수가 있더군요.
아래 코드는 제 홈페이지에 누가 다녀가는지 볼려구 만들어본 코드입니다. 며칠 돌려보니, 흑흑..., 구글이나 msn 따위의 검색 로봇들만 다녀가는군요.
acc_log.php
<? define("LOG_FILE", "log file 경로"); $ref = $HTTP_SERVER_VARS["HTTP_REFERER"]; $addr = $HTTP_SERVER_VARS["REMOTE_ADDR"]; $agent = $HTTP_SERVER_VARS["HTTP_USER_AGENT"]; function access_log($path) { $addlist="log를 남길 필요가 없는 IP 주소, 즉 나 자신이 사용하는 PC의 IP 따위"; global $ref, $addr, $agent; if(strstr($addlist, $addr)) return; $weekday = array("일","월","화","수","목","금","토"); $tarr = localtime(); $logstr = ($tarr[5]+1900)."/".($tarr[4]+1)."/$tarr[3] ". $weekday[$tarr[6]]. " $tarr[2]:$tarr[1]:$tarr[0]\t". "$path \t$addr \t$ref \t$agent\n"; $fp = fopen(LOG_FILE, 'a'); fputs($fp, $logstr); fclose($fp); return; } ?>
이때, 로그 파일의 access 권한은 rw-r--rw- 로 write 가능하게 해야 합니다.
그리고, index.php 같은 페이지에 다음 코드를...
<?php include("acc_log.php"); access_log("/"); ?>
Forums:
위 로그 발생기로 생성된 로그파일을 기반으로 웹상에서 로그를 볼 수 있도
위 로그 발생기로 생성된 로그파일을 기반으로 웹상에서 로그를 볼 수 있도록 로그 뷰어를 만들어봤습니다.
view_log.php파일은 acc_log.php파일이 존재하는 같은 디렉토리에 있으면 됩니다.
view_log.php
페이징 기능도 넣어 봤는데, 로그가 기하급수로 늘어날 경우 페이지 링크도 기하급수로 늘어날 것 같습니다. 일단 이 부분은 패스! 다른 초고수님께서 해결해 주실 것으로 믿사옵니다.
--->
데비안 & 우분투로 대동단결!
댓글 달기