웹마스터 팁
page_full_width">
접속자 IP 주소 텍스트로 저장
2004.08.15 20:58
<?
ignore_user_abort(1);
$f = fopen("ip.txt", "r"); // ip.txt라는 파일을 열고 읽음.
$l = fread($f, filesize("ip.txt")); // ip.txt의 {처음부터 끝}까지 읽음.
fclose($f); // 중복된 IP이면 무시함.
if (!strstr($l, $_SERVER['REMOTE_ADDR'])) { // IP 주소가 준비되지 않음
$f = fopen("ip.txt", "a"); // ip.txt를 연다. (파일 안에서 제일 끝부분에 새로운 IP 주소가 쓰일 수 있도록 대기함.)
fwrite($f, $_SERVER['REMOTE_ADDR']."n"); // IP 주소를 새로운 라인에 저장함.
fclose($f); } // ip.txt를 닫음.
?>
허접합니다.
참고로, 처음에 iplog.php 라는 파일을 웹에 올리시고 실행하시게 되면 신택스(문법) 오류가 날것입니다. 그걸 무시하시고 F5를 눌러주세요(새로 고침)
그러면 아무 탈없이 잘 될겁니다. (ip.txt를 읽을 수 있는 환경이 초기에 구성되어있지 않아서.)
모든 파일에 퍼미션 조정은 필요없어요.
더 좋은 의견있으시면 코멘트로 마구 달아주세요.
ignore_user_abort(1);
$f = fopen("ip.txt", "r"); // ip.txt라는 파일을 열고 읽음.
$l = fread($f, filesize("ip.txt")); // ip.txt의 {처음부터 끝}까지 읽음.
fclose($f); // 중복된 IP이면 무시함.
if (!strstr($l, $_SERVER['REMOTE_ADDR'])) { // IP 주소가 준비되지 않음
$f = fopen("ip.txt", "a"); // ip.txt를 연다. (파일 안에서 제일 끝부분에 새로운 IP 주소가 쓰일 수 있도록 대기함.)
fwrite($f, $_SERVER['REMOTE_ADDR']."n"); // IP 주소를 새로운 라인에 저장함.
fclose($f); } // ip.txt를 닫음.
?>
허접합니다.
참고로, 처음에 iplog.php 라는 파일을 웹에 올리시고 실행하시게 되면 신택스(문법) 오류가 날것입니다. 그걸 무시하시고 F5를 눌러주세요(새로 고침)
그러면 아무 탈없이 잘 될겁니다. (ip.txt를 읽을 수 있는 환경이 초기에 구성되어있지 않아서.)
모든 파일에 퍼미션 조정은 필요없어요.
더 좋은 의견있으시면 코멘트로 마구 달아주세요.
댓글 7
-
제로저아
2004.10.03 21:49
-
 
2004.08.15 22:47
네 맞아요 간단한데 잘못하면 뺏겨요 ㅡ; -
ifelse
2004.08.16 14:49
허허걱.
잘못하면 익명의 사용자가 접근해서 텍스트파일을 훔쳐볼 수 있겠네요; -
이승원
2004.08.17 09:12
리눅스 환경에서는 조심해야 할듯 디렉토리 퍼미션도 신경 써야 하고요 ^^ -
천상원
2004.08.23 17:30
김기수님,
버퍼부분을 저렇게 짜놓으시면 오버플로우 일어납니닷.; -
조남식(아수스)
2004.09.29 01:31
앞에 날짜는 못붙이나요?
예를 들자면 ip.txt를 오픈하면
------------- 19일의 아이피명단 ------------------
(2004/09/19 / 21:11:30) 211.243.135.68
(2004/09/20 / 21:19:22) 211.11.11.11
이런식으로.;; 비슷하게 우선 저는 날짜와 시간과 아이피를 나오게 해주셨으면 하는 큰바램이?
가능하다면 제조하셔서 공개해주시거나 쪽지를 통해 소스를 알려주세요. 부탁드립니다. -
아사타
2007.10.12 00:32
fwrite($f, $_SERVER['REMOTE_ADDR']."n"); // IP 주소를 새로운 라인에 저장함.
를 수정하면 될듯합니다.
대충 하자면
$date = mktime();
fwrite($f, $date.$_SERVER['REMOTE_ADDR']."n"); // IP 주소를 새로운 라인에 저장함.
테스트는 안 해 보았는데, 이렇게 하면 될듯합니다.
$f = fopen("ip.txt", "r"); // ip.txt라는 파일을 열고 읽음.
$l = fread($f, filesize("ip.txt")); // ip.txt의 {처음부터 끝}까지 읽음.
fclose($f); // 중복된 IP이면 무시함.
if (!strstr($l, $_SERVER['REMOTE_ADDR'])) { // IP 주소가 준비되지 않음
$f = fopen("ip.txt", "a"); // ip.txt를 연다. (파일 안에서 제일 끝부분에 새로운 IP 주소가 쓰일 수 있도록 대기함.)
$tp="(".date('Y/m/d-H:i:s').") ".$_SERVER['REMOTE_ADDR'];
fwrite($f, $tp."n"); // IP 주소를 새로운 라인에 저장함.
fclose($f); } // ip.txt를 닫음.