갑자기 방문수가 급증한 분들 참고하세요.

[ 2004년 09월 26일, 21시 09분] [ 글 갈래 : 나른한 오후의 단상 ]

내용 갱신 : 2004년 10월 21일, 20시쯤 (내용이 계속 변경될 수 있으니 갱신일시를 확인해주십시오)

갱신 사항 :
- 2004년 9월 26일 : 새로운 차단 ip 3개 추가함
- 2004년 10월 10일 : 새로운 차단 ip 1개 추가함 (222.122.15.185)
- 2004년 10월 18일 : 새로운 차단 ip 1개 추가함 (222.122.15.184)
- 2004년 10월 21일 : 새로운 차단 ip 1개 추가함 (222.122.15.190 )


며칠 전부터(혹은 어제부터) 방문 횟수가 급증한 분들 계실 겁니다. 저는 어제부터 방문수(카운트)가 급증했습니다. Referer Log를 보니 외부의 링크를 통해 방문한 것이 아닌 직접 방문이더군요. 이상하다 싶어서 방문자의 IP를 기록했습니다. 그랬더니 흥미로운 결과가 나오더군요.

09-15, 11:59:22 222.122.15.186
09-15, 11:59:36 222.122.15.186
09-15, 11:59:51 222.122.15.186
09-15, 12:00:06 222.122.15.187
09-15, 12:00:21 222.122.15.187
09-15, 12:00:42 222.122.15.187
09-15, 12:00:54 222.122.15.186
09-15, 12:01:07 222.122.15.186
09-15, 12:01:13 —.—.–.—
09-15, 12:01:19 222.122.15.186
09-15, 12:01:32 —.—.–.—
09-15, 12:01:35 222.122.15.186
09-15, 12:01:51 222.122.15.187
09-15, 12:02:04 222.122.15.186
09-15, 12:02:19 222.122.15.186
09-15, 12:02:34 222.122.15.187
09-15, 12:02:52 222.122.15.187
09-15, 12:03:06 222.122.15.187
09-15, 12:03:25 222.122.15.187
09-15, 12:03:37 222.122.15.186
09-15, 12:03:52 222.122.15.186
09-15, 12:04:09 222.122.15.187
09-15, 12:04:22 222.122.15.186
09-15, 12:04:32 —.—.–.—
09-15, 12:04:35 222.122.15.186
09-15, 12:04:51 222.122.15.186
09-15, 12:05:02 222.122.15.186
09-15, 12:05:13 —.—.–.—
09-15, 12:05:15 —.—.–.—
09-15, 12:05:15 222.122.15.186
09-15, 12:05:28 222.122.15.186
09-15, 12:05:28 —.—.–.—
09-15, 12:05:42 222.122.15.186
09-15, 12:05:59 222.122.15.187
09-15, 12:06:15 222.122.15.186
09-15, 12:06:31 222.122.15.186
09-15, 12:06:49 222.122.15.187
09-15, 12:06:49 —.—.–.—
09-15, 12:07:51 —.—.–.—

위에서 09-15, XX:XX:XX 는 접속 일시이고, 그 뒤가 바로 방문 IP입니다. —.—.–.— 로 된 것은 프라이버시의 문제로 제가 임의로 가린 것입니다. 중요한 것은 222.122.15. 로 시작하는 IP지요. 보시다시피 몇 초 단위로 마구 접속을 하고 있습니다. 수상하지요? IP의 정보를 봅시다.

inetnum: 222.96.0.0 - 222.122.255.255
netname: KORNET
descr: KOREA TELECOM
descr: Network Management Center
country: KR
admin-c: DL248-AP
tech-c: GK40-AP
descr: ************************************************
descr: Allocated to KRNIC Member.
descr: If you would like to find assignment
descr: information in detail please refer to
descr: the KRNIC Whois Database at:
descr: “http://whois.nic.or.kr/english/index.html”
descr: ************************************************
status: Allocated Portable
mnt-by: MNT-KRNIC-AP
changed: hm-changed@apnic.net 20031027
source: APNIC

빨간색 부분을 잘보면 눈에 익은 단어임을 알 수 있습니다. 코넷. 코리아 텔레콤. 즉 KT(옛 한국통신)이지요.

결론부터 말씀드리자면 KT에서 접속 로봇을 돌리고 있는 것으로 보이는 것입니다. KT에서 로봇을 돌리는 이유는 알 수 없습니다. 파란닷컴의 검색 Cache를 하기 위함인지, 아니면 불순한 사이트를 필터링하려고 로봇을 돌려서 웹 페이지 수집을 하는지는 알 수 없습니다. 분명한 것은 KT측에서 무단으로 로봇을 돌리고 있다는 것이지요.KT IDC를 이용하는 어떤 업체에서 무단으로 로봇을 돌리고 있다고 의심됩니다.

태터툴즈 이용하시는 분이나 php로 된 사이트를 운영하시는 분은 해당 php 파일 제일 상단에 아래의 코드를 넣으면 더이상 방문 수는 폭주하지 않습니다. 소스가 16일자로 변경되었으니 참고하세요.

$anti_ip[] = “222.122.15.181″;
$anti_ip[] = “222.122.15.182″;
$anti_ip[] = “222.122.15.183″;
$anti_ip[] = “222.122.15.184″;
$anti_ip[] = “222.122.15.185″;
$anti_ip[] = “222.122.15.186″;
$anti_ip[] = “222.122.15.187″;
$anti_ip[] = “222.122.15.190″;

/* 184 부분이 2004년 10월 18일에 새로 추가된 부분입니다 */

for($i=0;$i<count($anti_ip);$i++)
{
if ( substr_count($_SERVER["REMOTE_ADDR"], $anti_ip[$i]) > 0 ) {
exit;
}
}

태터툴즈 이용자라면 index.php 의 제일 상단에 있는 &lt? 바로 아래에 넣으면 됩니다. 만일 차단할 ip가 있다면

$anti_ip[] = “차단할ip”;

형태로 추가하시면 됩니다. 즉 $anti_ip[] 이 줄이 여러 개가 될 수 있겠지요. 특정 범위 내, 예를 들어 222.122.15. 으로 시작하는 ip를 차단하고 싶다면 222.122.15. 라고만 적으면 됩니다. 2004년 9월 16일 오전 10시 기준으로 잘 작동합니다. 이전 코드는 문제가 있었던 듯 싶군요.

덧쓰기 : IP 정보 알아봐준 아자군에게 감사~ 빠른 녀석.

덧쓰기 2 : 꼭 KT쪽 애들의 장난질(?)이 아닐 수도 있습니다. 다만 발생하고 있는 현상들을 들여다보니 KT의 소행으로 의심될 뿐입니다. 단지 KT 회선을 쓰는 개인이 하는 짓일수도 있으니, 혹여나 KT가 이짓했다! 라고 성급한 외침을 하시면 제가 난감합니다. 무서워요. 히히. 한날은 가난한 소시민.

덧쓰기 3 : 방문자 아이피가 궁금한 이는 다음의 코드를 php 파일 제일 상단에 넣으면 됩니다. (물론 &lt? 아래여야하고)

$fp = fopen(”client_ip_log.txt”, “a+”);
fputs($fp, date(”m-d, H:i:s”, time()).” “.$_SERVER["REMOTE_ADDR"].”\n”);
fclose($fp);

그런 뒤 해당 php와 같은 디렉토리에 client_ip_log.txt 파일을 생성한 뒤 쓰기 권한을 주십시오. chmod 707 client_ip_log.txt 형태로 하면 되겠지요. 물론 파일명은 취향대로 하시고요. 이제 방문자의 ip가 기록됩니다. 웹상에서 보시건 다운받아서 보시건 하세요. 참고로 웹 호스팅 업체가 싫어할 php code입니다. 남용하지 마세요.

덧쓰기 4 : Gratia님의 의견에 따르면 새로 서비스를 준비構?있는 업체의 짓거리로 보이는군요. KT-idc에 상주한 웹호스팅 업체를 이용하는 어떤 개인이나 업체의 짓거리로 추정됩니다. Gratia님의 의견 참고.

꼬리표 (tags) :

118개의 댓글과 엮인글이 있습니다.

  1. Nera:

    그런것이였군요 refer도 남지 않고 그래서 귀신에 홀린줄 알았습니다. ip를 막아버리는 방법도 되겠지요?


    comment at 2004/09/15
  2. XROK:

    아아. 역시 예상했던 대로군요 -_-;
    목적이 무엇인지가. 이제 궁금해질 따름입니다 -_-;;


    comment at 2004/09/15
  3. Filis:

    그렇게 된 것이었군요. 알려주셔서 정말 감사합니다.


    comment at 2004/09/15
  4. 파도:

    전 과다 트래픽으로 계정까지 하루 정지 당했어요. ㅜㅜ


    comment at 2004/09/15
  5. 제니:

    으음….방문자 아이피는 어떻게 알죠???;;


    comment at 2004/09/15
  6. 아름수풀:

    정체라도 밝혀져도 시원하네요.


    comment at 2004/09/15
  7. kamu :: le petit monde :::

    한날님 포스트에 의하면
    KT에서 접속 머신 돌리고 있다는 듯한데..
    과연 어떨런지.ㅡㅡ;;;

    하루에 1000이 넘어가는 일이 생기기도 하는듯.;;;

    “222.122.15.186, 222.122.15.187, 222.122.15″
    IP 막아 버렸습니다.ㅡㅡ;;;

    한날님 글


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  8. 롸君의 세계정복 망상기구:

    어제 새벽인가 오늘 아침인가에 들어와봤을 때에는 100명도 안되던 카운터가 지금보니 1000명을 넘었군요…

    태터센터에 가보니 조회수에 관련된 말들이 많길래 봤더니…

    KT네놈들 짓이였냐!!!


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  9. 라니:

    그렇군요… 저도 이상하다 계속 생각했었는데~ 한 번 체크해 봐야겠어요. 안 그래도 관련 포스트 남겼는데, 남기고 나서 이 글을 발견했네요. 감사.. ^_^


    comment at 2004/09/15
  10. 늑돌이:

    저도 그렇네요. 저 아이피 뿐만 아니라 의심되는 아이피가 몇개 있습니다.
    카운터는 하루에 한번 올라가게 해서 별로 많이 늘진 않았습니다만, KT 사람들은 무슨 생각으로 저러는지 궁금하네요.


    comment at 2004/09/15
  11. HIGHMACS:

    그렇군요. 한국통신 나빠요~
    역시 한날님 대단하십니다. 정부기관의 음모를
    밝혀내시는 순간인가요. ㅡㅡ;


    comment at 2004/09/15
  12. ilzimae:

    저 혼자 쓰는 곳인데.. 의외로(?) msnbot도 자주 옵니다.
    13일부터 로그를 보면 207.46.98.xxx의 msnbot이 1056번 다녀가셨더군요.


    comment at 2004/09/15
  13. 꿀맛의하늘™:

    저의 태터 카운터가 이상해요…..흑흑..
    미쳤나봐요..
    혹시 발견된 카운터 에러라도 있나요?

    문제의 화면..

    위의 사진에서 보시다 시피…
    제가 요근래 포스팅을 뜸하게 하는지라, 찾아오시는 분도 적고..(자주 오시는분이나 오시려나…)
    그래..


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  14. 꿀맛의하늘™:

    한날님께서 가르쳐주신 방법으로 해놓았는데….
    일단은 이상 증가를 더이상 하지 않는거 같군요…
    감사하구요…좀더 지켜봐야겠네요….
    그럼…총총총….


    comment at 2004/09/15
  15. Rany's Blog:

    index,php 파일을 수정했다.
    이후 카운터가 어떻게 변하는지 한 번 지켜봐야 겠다…
    현재 카운터 750…. ㅡ.ㅡ; 불과 30 여분 만에 또 60 가까운 힛이 증가했다. 헉… 무서워… ㅡ.ㅜ


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  16. 라니:

    앗… 트랙백이 두 번 되었습니다.

    제목: 한날 님이 알려주신 방법대로 from Rany's Blog

    위의 트랙백 하나 지워주시면 됩니다. 글을 쓰다가 삭제 버튼을 잘못 누르는 바람에…;; 죄송합니다.


    comment at 2004/09/15
  17. 초은:

    방문자 아이피를 어디서 확인해야할지.. ㅠ.ㅠ
    저는 특별히 많이 늘어나진 않았거든요.
    20% 정도? 대신 제가 업글이후 많이 돌아다녀서 그런 것 같은데.. 그래도 궁금해서리..


    comment at 2004/09/15
  18. 아르:

    가입형에도 해당하는 것일까요? 어제부터 끊임없이 카운터가 증가하고 있는데. 가입형이라 손 쓸 수도 없고, 온블록측에 이 정보나 제공해 줘야겠네요.


    comment at 2004/09/15
  19. Daiseuki:

    위에 IP정보 조회내용은 인터넷 서비스제공자 정보같군요(ISP)
    위와 같은 정보로 KT에서 로봇을 돌린다고 단언 할순 없습니다;
    위 정보로 알수있는건 로봇을 돌리는건지 F5를 누르고 있는건지 모르겠으나 KT 인터넷 회선을 이용하고 있다는 것 밖에는….-_-


    comment at 2004/09/15
  20. 한날:

    초은님/ 내용 추가하였습니다.

    아르님/ 말씀대로 업체에 요청하실 수 밖에 없을 듯 합니다.

    Daiseuki님/ 논란의 여지가 있어 해당 부분의 내용에 약간의 내용 추가를 했습니다.
    분명한 것은 F5는 아니라는거지요. 그 많은 사이트에 F5를 누르기도 힘들뿐더러, 보통의 경우는 F5만으로 방문 수가 중복 누적되지 않습니다. 아마 봇(로봇)을 돌려서 쿠키 조작등과 같은 장난질을 치는 듯 싶군요.
    그리고 제가 로봇이라고 생각한 이유는 단지 특정 페이지에만 접속하는게 아니라 임의로 접근한다는 겁니다. 예를 들면 옛 글들에도 접근을 한다던가. :D
    (이거 Visual Route라도 돌려야하나ㅡㅡ)


    comment at 2004/09/15
  21. TulminA:

    좋은 정보 감사합니다


    comment at 2004/09/15
  22. 조영운:

    좋은정보 감사합니다..

    트랙백 날렸는데…ㅡㅡ 안생기네요…


    comment at 2004/09/15
  23. Gratia:

    제 생각에도 웹로봇일거라 생각합니다만 ISP 정보의 코넷만으론 -워낙 회선 사용자가 많으니- KT짓일거라고는 생각지 않고 있습니다. 다만 kt-idc(kt-idc.com)에 입주한 정체불명의 서비스려니 생각중이죠.

    에이전트 명은 'Mozilla/4.0 (compatible; MSIE 4.01; Windows95)' 입니다. 이 에이전트명으로 짐작컨데 웹로봇 차단룰도 효과 없을 것 같습니다. -로봇룰을 따르는 봇이라면 저런 황당한 이름을 사용하지도 않겠죠.-

    어쩜 웹로봇이 아니고 정말 윈95에 ie 4.01의 PC를 사용하는 사람일지도 모르겠습니다.;; 왠만하면 98쓰시지..;;


    comment at 2004/09/15
  24. 라니:

    우오오오오~~~~ 불과 1시간 30분 전과 비교해 힛수 100 증가입니다. 흑흑… 갱신하신 글 꼼꼼히 보고 다시 php 파일 고치고 갑니다. 이전에 제가 잘못 고쳤는지 카운터 수가 줄지 않은 거 같더라구요~


    comment at 2004/09/15
  25. 민규君:

    원인이 이것이었단 말입니까;;;이런 뷁스런 일이-_-;;


    comment at 2004/09/15
  26. Gratia:

    추가)
    http://222.122.15.8/webhosting/main.html
    음. 위의 주소는 아직 준비중인 호스팅 업체로 보입니다. 위의 주소의 내용으로 짐작컨데 분당 kt-idc에서 사용하는 ip 대역 같습니다.

    음.. 대체 누구의, 무슨 의도일까요??


    comment at 2004/09/15
  27. 한날:

    Gratia님의 의견이 가장 유력해보입니다. 대체 왜 이런 짓을 하는 걸까요? 타인의 트래픽 제한까지 유발시켜가면서요. 쩝쩝


    comment at 2004/09/15
  28. Old Boy @ TTblog:

    방문객수가 갑자기 마구 세차게 증가해서 상당히 당황했는데, 알고보니 이런 사태가 벌어졌군요.
    거참~ 해브어 굿타임을 외치는 KT가 왜 이지랄을 하는건지….
    아래링크에서 hannal님의 글을 참고하시고, index.php 상단에

    $anti_ip[] = '222.122…


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  29. Gratia:

    아아. 한날님께선 이미 알고 계시겠지만, 혹시 오해하는 분 계실까봐 덧붙입니다.
    http://222.122.15.8/webhosting/main.html 의 주소는 이 아이피 대역이 kt-idc에서 사용중이라는 것을 추론하는 근거로만 사용한 것입니다. 위 페이지 업체의 행동임을 의미하는 것이 아닙니다.

    하지만 분명히 어떤 알수 없는 서비스가 생기는 것 같습니다. (혹은 이미 실재하는 서비스를 뒷받침하기 위한?) 그렇지 않고서야 이런일 할일이 없겠죠.


    comment at 2004/09/15
  30. OldBoy:

    혹시 잔뜩 트래픽 일으켜서 호스팅업체를 자기네로 바꾸라는 식의 요청을 하려는 것은 아닐까요? =_ㅎ+ (추측은 추측을 낳고…)


    comment at 2004/09/15
  31. TAIJui:

    제 블로그도 하루 힛수 100~200의 꽤 한산한 곳인데, 이글을 보고 확인해보니 저 아이피가 다녀간 데다가 힛수가 무려 600 이네요 -_- 좋은 정보 감사드립니다. ^^
    그리고 마지막에 나온 방문자 ip 알아보는건 호스팅 업체에서 왜 싫어하나요? 트래픽이라던가 다른 문제가 생기는 건가요? 궁금합니다 ^^;


    comment at 2004/09/15
  32. 한날:

    Gratia님/ 예. 제가 보기에도 호스팅 업체가 저지르기보다는 자료를 수집하여 서비스를 하려는 업체의 짓으로 보입니다. 쯔압. 왠지 거북합니다.

    OldBoy님/ -_-;;;;

    TALJui님/ 저 code 는 방문자가 페이지에 접속할 때마다 파일을 열은 뒤 내용을 추가하고 파일을 닫습니다. 즉 사용자가 방문할 때마다 File Handle을 열었다 닫았다하는 것인데, 컴퓨터 필수(?) 하드웨어 중 가장 느린 편에 속하는 하드 디스크의 I/O (input output)을 자주 일으켜 서버의 과부하를 일으킬 수 있습니다. php의 파일 처리 성능이 훌륭한 것이 아니며, 다수의 사용자가 사용하는 웹 호스팅 서버, 특히 저 코드를 사용하는 이들이 많은 서버라면 분명 문제의 소지가 될 수 있지요.


    comment at 2004/09/15
  33. On The Boundary:

    오늘 1시경 블로그를 열었는데 조회수가 무려 1000 가까이 되는 것이 아닌가!? 왠일인가 왠일인가 하면서 괜히 기분도 좋았지만… 이내 이상하단 생각이 들어 알아보니 누군가가 접속 로봇을 돌리고 있다는 이야기가 이미 돌고 있었다. 실제 로그 분석도 해..


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  34. 하늘이의 생각나무:

    여기저기 블로그들을 떠돌다가 우연히 한날님의 블로그에서 테터 업데이트 이후 카운터 이상 현살에 대해서 써있는 포스트가 있어서 읽어보았다.

    내용의 요약인즉 KT-IDC에 입주해있는 어떤 알 수 없는 로봇이 몇초 간격으로 페이지를 수집하면서 카운터..


    trackback at 2004/09/15 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  35. inel's home:

    요즘 바쁘다는 핑계로 글도 제대로 못 올리고 있는 inel's home에 오늘 많은 분들이 오셨네요. 그것도 천이백명이 넘게요. 오늘 무슨 일 있었나요? ^^a [Update] 다 이유가 있었군요. 이 글이 트랙백된 다음 글들을 참고하세요. 갑자기 방문수가 급증한 분들..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  36. Draco의 추억살리기:

    막상 당하고 나니 황당하군요.
    블로그 코리아에 걸린것도 아니고, 리퍼러 통계에 아무것도 잡히지 않았는데, 카운트가 1시간 사이에 급속히 올라갔습니다.

    먼가 조치를 취해야 겠군요.
    임시로 IP로그와 IP차단을 병행하겠습니다.

    혹시 이 조치..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  37. OldBoy:

    이시간에 갑자기 또 방문자수가 증가하기 시작했네요…끙…
    또 어디서….ㅠㅠ


    comment at 2004/09/16
  38. Draco:

    차단코드를 넣었는데도 계속된 카운터 증가가 있습니다.
    밤동안 약 700카운트가 추가되었네요;;;
    들어오는 IP는 적으신 IP와 같은것이구요.
    어찌해야 할까요.
    태터툴스 쓰고 있습니다.


    comment at 2004/09/16
  39. TAIJui:

    아.. 그런 거군요. 뭐.. 방문객이 별로 없으니 별 상관없을 거라 생각할래요.. ^^; 그나저나 아침에 다시 카운터가 미친듯이 늘어나고 있네요.. 222.122.15.186 222.122.15.187 이 두ip가 가득해요.. T^T


    comment at 2004/09/16
  40. 초은:

    감사합니다.
    저도 오늘 아침에 와보니 카운터수가..-_-;;
    확인을 해봐야겠구나 싶어서 여쭤보러 왔는데 글이 있네요.


    comment at 2004/09/16
  41. 한날:

    흐음~ 확인 중이옵니다. 이거 꽤 귀찮게 하는군요.


    comment at 2004/09/16
  42. JS:

    한날님.. 지금 접속 못하시는 분들이 꽤 늘어나기 시작했습니다.
    그 아이피 대열에 끼여있는 개인 사용자들이 발견되네요…
    한 예로 ..aromi님은 지금 그걸 차단한 어느 블로그에도 접속하지 못하고 계십니다.


    comment at 2004/09/16
  43. Draco의 추억살리기:

    한날님 소스를 조금 고쳤습니다.
    [CODE]list($a_c, $b_c, $c_c, $d_c) = explode('.', $_SERVER['REMOTE_ADDR']);
    $client_ip = “$a_c.$b_c.$c_c.”;
    if(eregi(”222.122.15.”,$client_ip)) exit;
    [/CODE]
    효과적으로 작동하는지는 두고볼 생각..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  44. 아름수풀:

    저는 해당코드를 삽입하니
    if ( substr_count($_SERVER['REMOTE_ADDR'], $anti_ip[$i]) > 0 ) 문장에서 아래와 같은 에러가 나오네요.
    Parse error: parse error, unexpected T_IF in /home1/myforest/public_html/blog/index.php on line 6

    해결 방법 좀 알려주세요.


    comment at 2004/09/16
  45. 한날:

    JS님/ 엄한 로봇과 저의 코드가 몇 몇 분들에게 불편을 야기시키고 있군요. 보아하니 로봇 ip가 아직까지는 2개뿐이니 차단 ip도 범위가 아닌 각각으로 해야겠습니다. 소스 수정했습니다.

    아름수풀님/ 저런. < 가 먹어버렸군요. 소스 갱신했으니 다시 붙여보셔요.


    comment at 2004/09/16
  46. 아름수풀:

    감사합니다. 수정했더니 정상적으로 작동됩니다.


    comment at 2004/09/16
  47. 하노아:

    저 코드를 추가하면 에러메세지가 뜨면서 페이지를 로드하지 못합니다. ^^;;
    5번째 줄에 문제가 있다고 나오는데.. 제가 뭘 잘못한 걸까요? ;ㅁ;


    comment at 2004/09/16
  48. 한날:

    아마도 제가 수정하기 직전에 소스를 쓰신 듯 하군요. 새로 작성된(거의 같아보이지만 수정되었습니다) 소스를 붙여보셔요.


    comment at 2004/09/16
  49. 초은:

    아이피 추적해보니까 정말 저도.. 당하고 있네요.
    근데 위 소스대로 해봐도 계속 들어오네요.
    -_- 뭘 잘못한 걸까요?


    comment at 2004/09/16
  50. 한날:

    $anti_ip[] = '222.122.15.186';
    $anti_ip[] = '222.122.15.187';
    for($i=0;$i<count($anti_ip);$i++)
    {
    if ( substr_count($_SERVER['REMOTE_ADDR'], $anti_ip[$i]) > 0 ) {
    exit;
    }
    }
    위 소스 그대로 붙이신건가요? ㅇㅅㅇ? 이상하네


    comment at 2004/09/16
  51. PYS' Blog 三年不飛:

    한날님이 포스팅하신 갑자기 방문수가 급증한 분들 참고하세요.으로 트랙백한 글입니다.
    Draco님이 포스팅하신 새 IP차단 코드 테스트중으로 트랙백한 글입니다.
    요즘 태터 센터에 가보면 “카운터가 미쳤다”, “방문자가 급증하고 있다”라는 내용의 포..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  52. 초은:

    죄.. 죄송합니다.
    빨간 것만 써넣었어요.
    다시 테스트 들어갑니당..


    comment at 2004/09/16
  53. 라니:

    갱신했어요~직접 찾아와서 글 남겨 주시고… 감사합니다. ^^
    정말 어제보다 현저히 줄었네요.


    comment at 2004/09/16
  54. OldBoy:

    감사합니다. 잘 작동하는것 같습니다. :)


    comment at 2004/09/16
  55. 민규君:

    이런;; 왠지 오늘도 많이 늘어나고 있더니만–;;
    또 바뀔줄이야 OTL;
    어쨌든 이런정보 제공해주셔서 감사합니다~


    comment at 2004/09/16
  56. 독존:

    흐음; 그런것이었군요 =+= 괜히 좋아했군요;;
    좋은 정보 감사요 ^^/


    comment at 2004/09/16
  57. 한루의 역사학 둥지:

    이런!
    우연히 모종님의 글(클릭)을 보고 설마 했는데, 오늘 제 블로그의 방문 숫자가 이상하게 늘었더군요. 변변히 글도 안 올렸는데 이상하다 싶어서 당장 php 파일에서 소스를 추가해두었습니다. 이거로 좀 잡혔으면 좋겠네요. 사진 보시면 아시겠..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  58. dohyun's world:

    블로그가 10,000 Hit 을 돌파했다.

    그런데 별로 기쁘지 않은 것이, 태터툴즈 0.93 을 설치하고 난 다음의 문제인지
    이게 리퍼러 스팸이라고 불리는 건지 모르겠지만,

    0.93을 설치하고 난 당일부터, 갑자기 카운터가 하루에 800번 정도로 늘어난 것이..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  59. 크레프:

    허어; 태터 오픈한지 며칠도 안 돼서 갑자기 폭주한 접속자수… 이것이었나 보네요.

    덕분에 지금 막아놓았습니다. 감사드려요~


    comment at 2004/09/16
  60. 하늘의 조각:

    태터툴즈 사용을 시작한지도 대략 일주일 미만, 그리고 0.93으로 바꾸자마자 이틀째 엄청나게 올라가는 접속자수의 정체… 이것이었나 봅니다.

    다행히 한날님의 블로그에서 이야기를 듣고 임시방편으로 막아는 두었습니다.

    어떤 분께서는 트래픽으로..


    trackback at 2004/09/16 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  61. N.com:

    어쩐지 3일동안 글을 안썼는데도 200명이 넘는게 신기했었죠..


    comment at 2004/09/17
  62. 미드:

    이것때문에 그랬군요…-,.-;;

    좋은 정보
    감사합니다-^^


    comment at 2004/09/17
  63. Angeldust:

    갑자기 1700힛이 나와서 놀랬습니다-_-
    앗. 갑자기 인기가 많아진건가? -_-
    설마.. 역시나!
    음 한날님 고맙습니ㄷㅏ^_^


    comment at 2004/09/17
  64. PerfectBody♡:

    아. 오늘 모의고사때문에 컴퓨터를 잘 만지지 못하는 상황에서
    모의고사 상황들이 어떤가 해서 재수생카페들어가볼까 하던중 컴퓨터좀 해봤는데..

    테터 0.93툴로 버전업한후로 갑자기 늘어나더니만..
    참고로 9월 17일.. 지금시간 새벽 한시인데…


    trackback at 2004/09/17 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  65. ▒▒ Blooming Town ▒▒:

    결국 그 녀석이 제 블로그에 방문해버리고 말았군요.
    한날님의 블로그에서 KT로봇에 대한 글을 읽었지만, 소스를 고쳐 올릴 시간이 없다는 이유로 다음에 해야지 하고 미뤘다가 결국 당하는군요. -.-;;
    현재 조회수가 1800을 넘어서고 있습니다.
    아우~ 이..


    trackback at 2004/09/17 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  66. 피오넬:

    위에 보이는 아이피 다 차단했는데도 조회수가 그대로 올라가고 있어요. 이제 어쩌죠??? >.<


    comment at 2004/09/17
  67. The sky of CiEl:

    이해가 안가..
    아무리 생각해도 이해가 안가..
    분명 내가 오늘 처음 접속해서 내가 접속한 횟수는 1일텐데..

    이상해..
    아무리 생각해도 이상해..

    태터가 0.93으로 바뀌어서 뭔가 프로그램 오류가 일어난건 아닌가? -_-?
    어떻게 15일에서 16일..


    trackback at 2004/09/17 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  68. NobleFantasm Of 直死の魔眼:

    으아~~ 미칩니다!

    9월15일부터… 방문자가 급증해서 좋아했건만,

    이제 알고보니… KT쪽의 음모인가!!

    크하하학!

    제가 요 며칠 거의 컴퓨터를 피시방에서 잠깐 손대던 관계로..

    이렇게 중요한 내용을 이제야 접했군요..ㅠ.ㅠ

    여..


    trackback at 2004/09/17 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  69. 한날:

    여러 분들/ :D 도움이 되시니 기쁘군요.

    N.com님/ -_- 기본적인 인기인 거 같은데.

    피오넬공주님/ 저 위에 보면 덧쓰기로 ip기록하는 코드가 있습니다. 그대로 하셔서 잠시 지켜보시면 접속 ip가 기록이 되는데 보시면 유별나게 많이 접속하는 ip가 있을 겁니다. 유달리 집요하게요. 그 녀석도 차단해보세요.
    참고로 짧은 시간안에(1~5분) 5~10회 접속하는 건 어느 누가해도 그렇게 접속될 수 있으니 장시간으로 봤을 때, 그러니까 10분이나 20분을 두고 보시고 계속 몇 초에서 몇 십초 단위로 접속을 시도하는 ip을 차단해보세요.


    comment at 2004/09/17
  70. 제니:

    혹시나.. 하는 마음에 ip기록을 시작했습니다… 좋은 정보 감사드립니다~~


    comment at 2004/09/25
  71. OldBoy:

    추석특집으로 또 카운터가 증가했군요….끙..

    222.122.15.181
    222.122.15.182
    222.122.15.183

    문제의 아이피들…이네요


    comment at 2004/09/26
  72. 한날:

    제보 감사!


    comment at 2004/09/26
  73. Silent Eyes...:

    역시 봇이다…ㅡㅡ;

    한날님 블로그에서 ip체크하도록 하는 소스 집어넣고 5분도 안지나서 확인해봤더니-_-;;

    여기 참고..

    09-26, 12:06:59 222.122.15.182
    09-26, 12:07:26 222.122.15.181
    09-26, 12:07:52 222.122.15.182
    09-26, 12:08:18 ..


    trackback at 2004/09/26 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  74. 라니:

    에구… 며칠 째 잠잠하다가 오늘 카운터가 1800을 넘어 버렸습니다. 허걱…해서 다시 봤는데.. 역시… ㅡ.ㅡ;
    위에 올드보이 님께서 제보하신 아이피에서 엄청난 압박이… 쩝… 왜 자꾸 이러는지 모르겠네요.


    comment at 2004/09/26
  75. 직사의마안:

    하아.. 계속 추가되네요. 차단아이피…이런! 정말 왜 계속 로봇을 돌리는거냐!!


    comment at 2004/09/26
  76. The Blog of 민규君:

    15, 16일 이틀동안 봇에 당해서 당일 접속자가 5~6백을 넘었는데;;

    이번에 또 당했다 OTL

    어제 다른 블로그들에서 그런글들을 몇 개 보고도

    내꺼에는 별 조짐이 없어서 넘어갔더니만;;

    아침에 일어나서 확인하니 어느새 7백-_-;;

    일단 또 조..


    trackback at 2004/09/27 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  77. astraea:

    전 구글 로봇이 하루에 몇번씩 들어오는건지-0-


    comment at 2004/09/29
  78. 한날:

    라니님, 직사의마안님/ :( 대충 한 곳을 발견하긴 했는데, 아직은 좀 더 지켜보는 중입니다.

    astraea님/ 제 사이트에는 구글봇과 msn봇이 '가끔' 오더군요. 별로 좋아하는 사이트가 아닌가봅니다.


    comment at 2004/09/30
  79. astraea:

    제 사이트도 좋아할 일이 전혀~ 없는데..
    한날님 사이트에 비하면 턱없이 부족한데..
    근데 대체 알 수 없는..a
    하루 방문자의 반이 구글봇일때도..ㅡ_ㅡa


    comment at 2004/09/30
  80. 한날:

    astraea site:withbyul.egloos.com
    검색 연타.

    덧쓰기 : 4개의 문장으로 구성되어 있는데 완료되는 문장은 없군요~! ㅇㅅㅇ


    comment at 2004/09/30
  81. OldBoy:

    카운터에도 안걸리는 한국항공대의

    203.253.146.219

    라는 아이피는 또 뭘까요? 3시경부터 계속 핑처럼 날아옵니다. 커흑
    여기 올려진 방법으로 일단 막았습니다만…
    왜 자꾸 이런 일들이 발생하는 걸까요?
    그리고, 저들의 의도는 뭘까요?


    comment at 2004/10/02
  82. Old Boy @ TTblog:

    왜 자꾸 이런일을 일으키는 것일까…?
    별 생각없이 지난번 설치해둔 ip log를 체크해보니…

    10-02, 15:00:38 203.253.146.219
    .
    .
    .
    .
    10-02, 16:09:17 203.253.146.219
    10-02, 16:09:24 203.253.146.219

    정확히 오후 3시 38초부터 시작된..


    trackback at 2004/10/02 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  83. 한날:

    ㅡ.ㅡ 제쪽에는 안오는군요~ 냐하핫


    comment at 2004/10/02
  84. psychedelic:

    이지만 좋을 거 하나 업ㅂ다 -_-

    전에 돌아다니던 로봇이 좀 잠잠해졌나 했더니

    또 설치네요. #@#%$^ 지난번에 안걸려서 귀찮아서 그냥 놔뒀더니.

    뭔소린지 모르시는 분들은 여기를 참고해주세요


    trackback at 2004/10/09 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  85. Forest:

    오늘 갑자기 카운터가 마구 올라가기 시작하였다.

    '주말이라 다들 할 일이 없는걸까?' 생각했다가, 보통 절대 뒤돌아 볼 일 없는 접속 로그 파일을 열어보았다.

    222.122.15.185
    222.122.15.186

    두 IP가 시도때도 없이 접속을 시도하고 있었다..


    trackback at 2004/10/09 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  86. 마조리카:

    전 남의 일이라;;
    평온한 나날을 보내다 어제 공격을..;;
    그냥 넘어가려다;; 영 아니다 싶어서;
    한날님 소스 붙여넣고; 감시중;;
    222.122.15.185 <- 이녀석도 활동을 개시..!! ㅜ_ㅜ


    comment at 2004/10/10
  87. 한날:

    남의 일만은 아니지요. 흐흐.


    comment at 2004/10/10
  88. astraea:

    오늘 저도 이들의 습격을 받았네요a
    4개의 ip 로 연달아..;
    그나저나 i.e 4.x 는 참 신기하군요..ㅋㅋ


    comment at 2004/10/19
  89. OldBoy:

    222.122.15.181
    222.122.15.182
    222.122.15.183
    222.122.15.184
    222.122.15.185
    222.122.15.186
    222.122.15.187

    위 ip들 모두 막아야 할듯 합니다. 지겹네요. 이거 막기도…


    comment at 2004/10/19
  90. 한날:

    astraea님/ –; 날이 갈수록 심해지나보군요. 제쪽은 꽤 한산합니다.

    OldBoy님/ 하나인가 두개가 추가되었군요. 난감.


    comment at 2004/10/20
  91. 아라:

    222.122.15.190 까지 등장했습니다. -_-;;


    comment at 2004/10/21
  92. astraea:

    3일간 접속의 반이상이 점령당했네요;;

    대체 누구 짓인지..ㅡㅡ;;;;;;


    comment at 2004/10/22
  93. 한날:

    흐음. 이거 점점 한계를 넘는걸요?


    comment at 2004/10/22
  94. inureyes:

    65.54.188.63, 65.54.188.64 신고합니다.
    막아놓고 몇 주 로그를 보니 제 쪽으로는 222.122.15 계열만큼이나 밀려 들어오네요. ㅠ_ㅠ


    comment at 2004/10/22
  95. 재숙:

    에에…오랜만입니다;; 65.54.188.108 신고합니다.


    comment at 2004/11/18
  96. 3mu:

    혹시 서비스 받고 있는 IDC 에서 웹서비스가 잘 되고 있나 모니터링 프로그램을 돌리고 있는건 아닐까요? IDC 에 문의보해심이..


    comment at 2004/11/18
  97. 재숙:

    3mu님/ IP주소 할당내역 검색했더니 국내에 배정된 주소가 아니라는군요. 그나저나 이번엔 또 64.71.144.**로 들어오네요.(마찬가지로 국내에 배정된 주소가 아님)


    comment at 2004/11/18
  98. 재숙:

    한날님의 방법을 적용하니까 일단 카운터수는 늘지 않지만 client_ip_log 파일엔 위 ip가 계속 올라오네요. 해킹시도가 아닐까 싶어서 잔뜩 불안합니다. …태터센터나 블코 등에서 '해킹'으로 글검색하면 홈페이지 해킹 피해사례(직접경험)는 많은데 해킹방지요령에 관한 글은 의외로 너무 없어서 충격이었습니다.(지금도 식은땀이 흐르는군요;)


    comment at 2004/11/18
  99. 한날:

    msn bot이 아닐까 조심스레 추측해봅니다. (ip가 ms쪽이군요)


    comment at 2004/11/19
  100. 재숙:

    음, 말씀하신 대로 엠에센 봇일 수도 있겠군요. 어떤 의미로는 차라리 봇이라면 좋겠다는 생각마저 드네요. 접근시간차가 들쑥날쑥한데다 식사시간은 비어있다니…거참 수상합니다;(봇이라면 정말 지능적인 봇이겠군요)


    comment at 2004/11/19
  101. Text & Context:

    물론.. 잘 나가시는 분(?)들에게 있어서는 가소로울 수 있으나.. 저의 블로그는.. 하루에 삼십개 에서 백개정도 증가하는 정말 소규모의 개인적인 블로그이거든요…ㅋㅋㅋ

    그것도.. 글을 한개도 안쓰면 이삼십번정도.. 블로그 조회수가 늘어나구…. 한..


    trackback at 2005/01/07 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  102. Arnie's Couch #2:

    어제 대전 본가에 내려왔습니다.컴퓨터 앞에 앉아 있을 시간이 많지 않아서 블로그질도 당연히 뜸해졌는데오늘 들어와 보니 카운터가 비정상적인듯 보이더군요.새로 쓴 글도 없는데다 방문객이 이 정도라면 댓글 한 두개쯤 새로 달려 있을텐데전혀 그런 것이..


    trackback at 2005/01/08 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  103. OldBoy:

    TT 0.94버전 업데이트후
    for($i=0;$i<count($anti_ip);$i++)
    {
    if ( substr_count($_SERVER['REMOTE_ADDR'], $anti_ip[$i]) > 0 ) {
    ?? exit;
    }
    }
    이부분에서 에러가 발생합니다.


    comment at 2005/01/17
  104. 한날:

    에러 내용이 뭔가요? 그 부분을 전부 다 알려주실 수 있으신가요? 제 코드 외에 TT 0.94의 주변 코드들까지요. 전 0.92버전에서 제가 원하는 기능을 덧붙여서 수정한 것이라 0.94버전의 소스가 어떤지 모르겠습니다. :D (사실 에러날만한 코드가 아니지만)


    comment at 2005/01/17
  105. OldBoy:

    <?
    include("inc_global.php");
    include("inc_function.php");
    include("inc_presswork.php");

    chk_subscription();

    if ($md == "guest_db") {

    check_ip_block();

    $host1 = parse_url($HTTP_REFERER);
    $host2 = parse_url($s_root_path);
    if ($host1[host] != $host2[host]) error_process("01B1");
    if ($guest_input_homepage == "http://") $guest_input_homepage = "";

    if ($act != "edit") {
    setcookie ("c_guest_name", $guest_input_name, time()+60*60*24*30);
    setcookie ("c_guest_homepage", $guest_input_homepage, time()+60*60*24*30);
    setcookie ("c_guest_icon", $guest_select_icon, time()+60*60*24*30);
    }

    $guest_select_icon = get_private_icon($guest_select_icon, $guest_input_name, $guest_input_password, $guest_input_homepage);
    list($width, $height) = get_icon_size($guest_select_icon);

    if (!$guest_input_password) $guest_input_password = get_timestamp3();

    if (!return_authority()) {
    $guest_input_name = str_tag_off($guest_input_name);
    $guest_input_homepage = str_tag_off($guest_input_homepage);
    $guest_select_icon = str_tag_off($guest_select_icon);
    $guest_textarea_body = str_tag_off($guest_textarea_body);
    }

    if (!$sort) $sort = 1;

    switch ($act) {

    case "insert" :

    if (!return_authority() && ($p_gue_perm == 0 || $p_gue_perm == 2)) error_process("01B4");

    put_query ("
    insert into t3_".$dbid."_guest (
    sortno
    , name, homepage, icon, icon_width, icon_height, body, password
    , regdate, ip
    ) values (
    '".(get_maxval("t3_".$dbid."_guest", "sortno", null)+1)."'
    , '$guest_input_name', '$guest_input_homepage', '$guest_select_icon', '$width', '$height', '$guest_textarea_body', password('$guest_input_password')
    , '".time()."', '$REMOTE_ADDR'
    )
    ");
    header("Location: $r_root_path"."index.php?md=guest");
    break;

    case "reply" :

    if (!return_authority() && ($p_gue_perm == 0 || $p_gue_perm == 1)) error_process("01B5");

    put_query("
    insert into t3_".$dbid."_guest_reply (
    pno
    , name, homepage, icon, icon_width, icon_height, body, password
    , regdate, ip
    ) values (
    '$num'
    , '$guest_input_name', '$guest_input_homepage', '$guest_select_icon', '$width', '$height', '$guest_textarea_body', password('$guest_input_password')
    , '".time()."', '$REMOTE_ADDR'
    )
    ");

    put_query("
    update t3_".$dbid."_guest set
    sortno = '".(get_maxval("t3_".$dbid."_guest", "sortno", null)+1)."'
    where no = '$num'
    ");
    ?>
    <script type="text/javascript" language="JavaScript">
    location.href='<?=$r_root_path?>index.php?md=guest&page=<?=$page?>&sort=<?=$sort?>#gue<?=$num?>_<?=get_maxval("t3_".$dbid."_guest_reply", "no", null)?>';
    </script>
    <?
    break;

    case "edit" :

    $tab = "t3_".$dbid."_guest";
    $set = "gue$num";
    if ($pnum) {
    $tab .= "_reply";
    $set = "gue$pnum"."_"."$num";
    }

    $sql = "select password('$guest_input_password')";
    list ($del_pass) = mysql_fetch_array(mysql_query($sql));

    $sql = "select password from $tab where no = '$num'";
    list ($db_pass) = mysql_fetch_array(mysql_query($sql));

    if ($del_pass == $db_pass || return_authority()) {
    put_query ("
    update $tab set
    name = '$guest_input_name'
    , homepage = '$guest_input_homepage'
    , icon = '$guest_select_icon'
    , icon_width = '$width'
    , icon_height = '$height'
    , body = '$guest_textarea_body'
    where
    no = '$num'
    ");
    } else error_process("02B1");
    ?>
    <script type="text/javascript" language="JavaScript">
    location.href='<?=$r_root_path?>index.php?md=guest&page=<?=$page?>&sort=<?=$sort?>#<?=$set?>';
    </script>
    <?
    break;
    }
    exit;
    }

    unset($add_query, $add_val);

    if (!$page) $page = 1;
    if ($md == "guest") $pagelog = $p_gue_page_cnt;
    else $pagelog = $p_page_cnt;

    $start = ($page - 1) * $pagelog;
    $end = $pagelog;

    if (return_authority()) $is_public = "1"; else $is_public = "is_public = '1'";
    if ($ct1) { if ($ct1 != -1) $add_query .= " and category1 = '$ct1' "; $add_val .= "&ct1=$ct1"; }
    if ($ct2) { $add_query .= " and category2 = '$ct2' "; $add_val .= "&ct2=$ct2"; }
    if ($setdate) { $add_query .= " and from_unixtime(regdate, '%Y%m') = '$setdate' "; $add_val .= "&setdate=".$setdate;}
    if ($setday) { $add_query .= " and from_unixtime(regdate, '%e') = '$setday' "; $add_val .= "&setday=".$setday; }
    if ($stext) {
    $stext = str_replace("%", "", $stext);
    $add_query .= " and (title like ('%$stext%') or body like ('%$stext%')) "; $add_val .= "&stext=".urlencode($stext);
    }

    if ($md == "pl") {
    $sql = "select no from t3_".$dbid." where $is_public $add_query order by regdate desc limit ".($page-1).", 1";
    // print $sql;
    list ($pl) = mysql_fetch_array(mysql_query($sql));
    header("Location: index.php?pl=$pl".$add_val);
    exit;
    }

    $time_skin = chk_time($time_skin);
    $skin = new set_skin();
    $time_skin = chk_time($time_skin);

    if (!$HTTP_COOKIE_VARS["c_count"]) set_count();
    setcookie ("c_count", "1", time()+60*60);

    ob_start();
    ?>

    <!–
    Tatter Tools 0.94 Steady foundation - Release Candidate (2004.12.20)
    developer: JH (Jaehun Jung) URL (http://interlude.pe.kr)
    Tatter Center: URL(http://www.tattertools.com)
    Copyright ⓒ 2004 JH - project tatter toolkit, All rights reserved
    –>

    <script type="text/javascript" src="lib.js"></script>

    <form method="post" name="weblog" action="<?=$PHP_SELF?>">
    <input type="hidden" name="md">
    <input type="hidden" name="act">
    <input type="hidden" name="page">
    <input type="hidden" name="sort">
    <input type="hidden" name="pl">
    <input type="hidden" name="stext" value="<?=$stext?>">
    <input type="hidden" name="setdate" value="<?=$setdate?>">
    <input type="hidden" name="setday" value="<?=$setday?>">
    <input type="hidden" name="ct1" value="<?=$ct1?>">
    <input type="hidden" name="ct2" value="<?=$ct2?>">
    <input type="hidden" name="pnum">
    <input type="hidden" name="num">
    <input type="hidden" name="c_name">
    <input type="hidden" name="c_password">
    <input type="hidden" name="c_homepage">
    <input type="hidden" name="c_is_secret">
    <input type="hidden" name="c_body">
    <input type="hidden" name="d_target">
    <?

    $pre_d1 = ob_get_contents();
    ob_end_clean();

    unset($rss_no);

    if ($p_read_cycle) {
    $term = 60 * $p_read_cycle;

    $sql = "select no, xml_url from t3_".$dbid."_rss where unix_timestamp() - regdate > $term order by no desc limit 0,1";
    // print $sql;
    $result = @mysql_query($sql);
    while(list($no, $xml_url) = @mysql_fetch_array($result)) {
    if ($xml_url) {
    put_query("update t3_".$dbid."_rss set regdate = ".time()." where no = '$no'");
    $rss_no = $no;
    }
    }
    }

    ob_start();

    ?>
    <script type="text/javascript" language="JavaScript">
    var img_set = '';
    <?
    if ($ct1) {
    if ($ct1 == -1) {
    ?>
    act = 1; onclick_all_process(window, '<?=$s_tree_path.$p_tree."/"?>', act, d_ary);
    onclick_setimp(window, document.getElementById('imp'), c_ary, t_ary);
    <?
    } else {
    ?>
    if (has_leaves(d_ary, '<?=$ct1?>')) img_set = 1; else img_set = 0;
    onclick_folder(document.getElementById('hidden_category<?=$ct1?>'), document.getElementById('folder<?=$ct1?>'), '<?=$s_tree_path.$p_tree."/"?>', img_set);
    onclick_setimp(window, document.getElementById('imp<?=$ct1?>'), c_ary, t_ary);
    <?
    }
    }
    if ($ct2) {
    ?>
    onclick_setimp(window, document.getElementById('imp<?=$ct1?>_<?=$ct2?>'), c_ary, t_ary);
    <?
    }
    ?>
    </script>
    <iframe name="exe_frame" <? if ($rss_no) print "src="admin/reader_read.php?num=$rss_no""; ?> style="width:0; height:0;" frameborder="0" scrolling="no"></iframe>
    </form>
    <?
    $post_d1 = ob_get_contents();
    ob_end_clean();

    $d0 = $skin->s_s;
    $d1 = str_replace("[##_s_t3_##]", $pre_d1.$skin->s_t3.$post_d1, $d0);

    $image = $s_attach_path."image/".$p_imagefile;
    if (!$p_imagefile) $image = "images/spacer.gif";

    $d1 = str_replace("[##_url_##]", "", $d1);
    $d1 = str_replace("[##_title_##]", "$p_title", $d1);
    $d1 = str_replace("[##_image_##]", $image, $d1);
    $d1 = str_replace("[##_onclick_image_##]", "window.open('image_pop.php?imagefile=$s_attach_path"."image/"."$p_imagefile&width=$p_width&height=$p_height','s_im','width=$p_width,height=$p_height,location=0,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0')", $d1);
    $d1 = str_replace("[##_desc_##]", $p_description, $d1);
    $d1 = str_replace("[##_search_text_##]", $stext, $d1);
    $d1 = str_replace("[##_search_name_##]", "search", $d1);
    $d1 = str_replace("[##_search_onclick_submit_##]", "location.href='index.php?stext='+document.weblog.search.value; return false;", $d1);

    if (strpos($d1, "[##_count_total_##]")) {
    $sql = "select sum(count) from t3_".$dbid."_count";
    list ($sum) = mysql_fetch_array(mysql_query($sql));
    $d1 = str_replace("[##_count_total_##]", $sum+$p_icount, $d1);
    }

    if (strpos($d1, "[##_count_today_##]") || strpos($d1, "[##_count_yesterday_##]")) {
    $day_count1 = 0; $day_count2 = 0;

    $sql = "select set_date, count from t3_".$dbid."_count where set_date between '".date("Ymd", mktime(0, 0, 0, date(m), date(d)-1, date(Y)))."' and '".date("Ymd")."' order by set_date asc";
    $result = @mysql_query($sql);
    while(list($date, $count) = @mysql_fetch_array($result)) {
    if (date("Ymd") == $date) $day_count1 = $count;
    else $day_count2 = $count;
    }

    $d1 = str_replace("[##_count_today_##]", $day_count1, $d1);
    $d1 = str_replace("[##_count_yesterday_##]", $day_count2, $d1);
    }

    if ($pl) {
    $sql = "select regdate from t3_".$dbid." where no = '$pl'";
    list ($rd) = mysql_fetch_array(mysql_query($sql));
    $sql = "select count(*) from t3_".$dbid." where $is_public $add_query and regdate > '$rd'";
    list ($r_cnt) = mysql_fetch_array(mysql_query($sql));
    $start = $r_cnt;
    $end = 1;
    $page = $start+1;
    $pagelog = 1;
    $md = "pl";
    }

    unset($p, $p2, $add_str);

    while(1) {
    if ($md == "rss" || $md == "guest" || ($ct1 && ($p_select_cat_view == 2)) || (($setdate || $setday) && ($p_select_arc_view == 2)) || ($stext && $pl) || $page != 1 || $pl || !($setdate || $setday || $stext || $ct1 || $ct2)) break;

    $p = $skin->s_list;
    $sql = "select no, category1, category2, title, user_id, image_file_path1, image_file_path2, regdate, rp_cnt from t3_".$dbid." where $is_public $add_query order by regdate desc";
    // print $sql;
    $result = @mysql_query($sql);
    $list_count = mysql_num_rows($result);
    while(list($no, $category1, $category2, $title, $user_id, $image_file_path1, $image_file_path2, $regdate, $rp_cnt) = @mysql_fetch_array($result)) {
    if ($rp_cnt) $rp_cnt = "($rp_cnt)"; else $rp_cnt = "";
    $p2_rp = $skin->s_list_rep;
    $p2_rp = str_replace("[##_list_rep_title_##]", $title, $p2_rp);
    $p2_rp = str_replace("[##_list_rep_link_##]", "index.php?pl=$no".$add_val, $p2_rp);
    $p2_rp = str_replace("[##_list_rep_regdate_##]", get_timevalue1($regdate), $p2_rp);
    $p2_rp = str_replace("[##_list_rep_rp_cnt_##]", $rp_cnt, $p2_rp);
    $p2 .= $p2_rp;
    }

    if ($ct2) $add_str = " - '".get_category2_label($ct2)."'";
    if ($ct1) $p = str_replace("[##_list_conform_##]", "카테고리 '".get_category1_label($ct1)."' $add_str", $p);
    unset($add_str);
    if ($setday) $add_str = " ".$setday."일 ";
    if ($setdate) $p = str_replace("[##_list_conform_##]", substr($setdate,0,4)."년 ".intval(substr($setdate,4))."월".$add_str, $p);
    if ($stext) $p = str_replace("[##_list_conform_##]", "검색어 '$stext'", $p);

    $p = str_replace("[##_list_count_##]", $list_count, $p);
    $p = str_replace("[##_s_list_rep_##]", $p2, $p);

    break;
    }
    if (strpos($d1, "[##_s_list_##]")) $d1 = str_replace("[##_s_list_##]", $p, $d1);

    unset($p, $p2);

    if (!$pl && $stext) {

    $p = $skin->s_rplist;

    $sql = "select no, pno, name, body, regdate from t3_".$dbid."_reply where (name like ('%$stext%') or body like ('%$stext%')) order by no desc";
    // print $sql;
    $result = @mysql_query($sql);
    $rp_cnt = mysql_num_rows($result);
    while(list($no, $pno, $name, $body, $regdate) = @mysql_fetch_array($result)) {
    $p2_rp = $skin->s_rplist_rep;
    $p2_rp = str_replace("[##_rplist_rep_link_##]", $PHP_SELF."?pl=$pno#r$no", $p2_rp);
    $p2_rp = str_replace("[##_rplist_rep_regdate_##]", get_timevalue1($regdate), $p2_rp);
    $p2_rp = str_replace("[##_rplist_rep_name_##]", $name, $p2_rp);
    $p2_rp = str_replace("[##_rplist_rep_body_##]", str_cut($body, 50, 0), $p2_rp);
    $p2 .= $p2_rp;
    }

    if ($stext) $p = str_replace("[##_rplist_conform_##]", "검색어 '$stext'", $p);
    $p = str_replace("[##_rplist_count_##]", $rp_cnt, $p);
    }

    $p = str_replace("[##_s_rplist_rep_##]", $p2, $p);
    $d1 = str_replace("[##_s_rplist_##]", $p, $d1);

    while(1) {
    if ($md == "rss" || $md == "guest" || ($ct1 && $p_select_cat_view == 1 && !$pl) || (($setdate || $setday) && $p_select_arc_view == 1 && !$pl) || ($stext && !$pl)) break;

    $sql = "select count(*) from t3_".$dbid." where $is_public $add_query";
    list ($t_cnt) = mysql_fetch_array(mysql_query($sql));

    $sql = "
    select
    no, category1, category2, title, body
    , user_id, image_file_path1, image_file_path2, regdate
    , rp_cnt, tb_cnt, is_sync, is_public
    , perm_rp, perm_tb
    from
    t3_".$dbid."
    where
    $is_public
    $add_query
    order by
    regdate desc
    limit $start, $end
    ";
    // print $sql;

    $result = @mysql_query($sql);
    while(list(
    $no, $category1, $category2, $title, $body
    , $user_id, $image_file_path1, $image_file_path2, $regdate
    , $rp_cnt, $tb_cnt, $is_sync, $is_public_set
    , $perm_rp, $perm_tb
    ) = @mysql_fetch_array($result)) {

    if (return_authority()) { $perm_tb = 1; $perm_rp = 1; }

    if ($pl) {
    if ($perm_tb) $plbuffer = get_tb_content($skin, $no);
    if ($perm_rp) $plbuffer .= get_rp_content($skin, $no);
    }

    unset ($perm_rp_link, $perm_tb_link);

    $category = get_category1_label($category1);
    if ($category2) $category .= " - ".get_category2_label($category2);
    if ($rp_cnt) $rp_cnt = "($rp_cnt)"; else $rp_cnt = "";
    if ($tb_cnt) $tb_cnt = "($tb_cnt)"; else $tb_cnt = "";

    $d2_rp = $skin->s_article_rep;

    $d2_rp = str_replace("[##_s_tb_##]", "", $d2_rp);
    $d2_rp = str_replace("[##_s_rp_##]", "", $d2_rp);

    $d2_rp = str_replace("[##_article_rep_title_##]", $title, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_desc_##]",
    set_moreless(
    nl2brc(
    set_keyword(
    attach_image(
    1, $body, $s_root_path, $r_root_path, $attach_path.$image_file_path1.$image_file_path2
    ), $is_sync
    )
    ), $no
    ), $d2_rp
    );

    if ($perm_rp) $perm_rp_link = "onclick_addexe('$no', 'post_$no', weblog.post_$no"."_div_rp, weblog.post_$no"."_div_tb, 'rp'); return false;";
    else $perm_rp_link = "alert('이 글에는 댓글을 달 수 없습니다.\t'); return false;";

    if ($perm_tb) $perm_tb_link = "onclick_addexe('$no', 'post_$no', weblog.post_$no"."_div_tb, weblog.post_$no"."_div_rp, 'tb'); return false;";
    else $perm_tb_link = "alert('이 글에는 관련글(트랙백)을 달 수 없습니다.\t'); return false;";

    $d2_rp = str_replace("[##_article_rep_name_##]", $user_id, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_date_##]", get_timevalue1($regdate)." ".get_timevalue3($regdate), $d2_rp);
    $d2_rp = str_replace("[##_article_rep_link_##]", $PHP_SELF."?pl=$no".$add_val, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_category_##]", $category, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_category_link_##]", "index.php?ct1=$category1&ct2=$category2", $d2_rp);
    $d2_rp = str_replace("[##_article_div_area_##]", "<input type=hidden name=post_$no"."_div_rp value=0><input type=hidden name=post_$no"."_div_tb value=0><div id=post_$no> $plbuffer </div>", $d2_rp);
    $d2_rp = str_replace("[##_article_rep_rp_link_##]", $perm_rp_link, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_tb_link_##]", $perm_tb_link, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_rp_cnt_##]", $rp_cnt, $d2_rp);
    $d2_rp = str_replace("[##_article_rep_tb_cnt_##]", $tb_cnt, $d2_rp);

    if (strpos($d2_rp, "[##_s_ad_div_##]") && return_authority()) {
    $d3 = $skin->s_ad_div;
    if ($is_public_set) { $label1 = "공개중"; $label2 = "비공개로"; }
    else { $label1 = "비공개중"; $label2 = "공개로"; }
    $d3 = str_replace("[##_s_ad_m_link_##]", "admin/article_edit.php?num=$no&am=1", $d3);
    $d3 = str_replace("[##_s_ad_s1_label_##]", $label1, $d3);
    $d3 = str_replace("[##_s_ad_s2_label_##]", $label2, $d3);
    $d3 = str_replace("[##_s_ad_s2_link_##]", "admin/article.php?mode=set_public&exenum=".$no."_".$is_public_set."_".$is_sync."&am=1", $d3);
    $d3 = str_replace("[##_s_ad_t_onclick_##]", "window.open('admin/article_trackback_pop.php?no=$no','tb','width=550,height=200,location=0,menubar=0,resizable=0,scrollbars=1,status=0,toolbar=0'); return false;", $d3);
    $d3 = str_replace("[##_s_ad_d_onclick_##]", "location.href='admin/article.php?mode=set_delete&exenum=".$no."_".$is_public_set."&am=1'; return false;", $d3);
    }

    $d2_rp = str_replace("[##_s_ad_div_##]", $d3, $d2_rp);
    $d2 .= $d2_rp;
    }
    break;
    }

    if (strpos($d1, "[##_s_guest_##]")) $d1 = str_replace("[##_s_guest_##]", get_guest(), $d1);

    unset($buf, $prev_page, $next_page);
    $i = $page - 5;
    $cnt = 0;
    $final = sprintf("%d", ($t_cnt+$pagelog-1) / $pagelog);

    if ($md) $add_val = "&md=$md".$add_val;
    if ($sort) $add_val = "&sort=$sort".$add_val;

    if ($i > 0 && $i > ($final - 9)) { $i = $final - 9; if ($i < 1) $i = 1; }
    if ($page > 5) { $buf .= set_paging_link(1); $buf .= " … "; }
    while(1) { $i++; if ($i < 1) continue; $buf .= set_paging_link($i); $cnt++; if ($cnt == 9 || $i == $final || !$final) break; }
    if ($final > $i) { $buf .= " … "; $buf .= set_paging_link($final); }

    if ($page > 1) $prev_page = "href="index.php?page=".($page-1)."$add_val"";
    if ($page != $final && $final) $next_page = "href="index.php?page=".($page+1)."$add_val"";

    $d1 = str_replace("[##_s_paging_rep_##]", $buf, $d1);
    $d1 = str_replace("[##_prev_page_##]", $prev_page, $d1);
    $d1 = str_replace("[##_next_page_##]", $next_page, $d1);

    if (strpos($d1, "[##_s_rss_##]")) $d1 = str_replace("[##_s_rss_##]", get_rss(), $d1);
    if (strpos($d1, "[##_category_##]")) $d1 = str_replace("[##_category_##]", get_category(), $d1);
    if (strpos($d1, "[##_calendar_##]")) $d1 = str_replace("[##_calendar_##]", get_calendar(), $d1);
    if (strpos($d1, "[##_s_archive_rep_##]")) $d1 = str_replace("[##_s_archive_rep_##]", get_archive(), $d1);
    if (strpos($d1, "[##_s_rctps_rep_##]")) $d1 = str_replace("[##_s_rctps_rep_##]", get_rctps_rep(), $d1);
    if (strpos($d1, "[##_s_rctrp_rep_##]")) $d1 = str_replace("[##_s_rctrp_rep_##]", get_rctrp_rep(), $d1);
    if (strpos($d1, "[##_s_rcttb_rep_##]")) $d1 = str_replace("[##_s_rcttb_rep_##]", get_rcttb_rep(), $d1);
    if (strpos($d1, "[##_s_link_rep_##]")) $d1 = str_replace("[##_s_link_rep_##]", get_link_rep(), $d1);
    $d1 = str_replace("[##_s_article_rep_##]", $d2, $d1);

    $time_total = chk_time($time_total);

    print $d1;

    print "
    <!–
    Session Excuted : $time_session
    Skin Setup : $time_skin
    Total Excuted Time : $time_total
    –>";

    ?>


    comment at 2005/01/18
  106. OldBoy:

    0.94 index.php 소스입니다. 다른방법이 없어서 여기 코맨트로 올립니다. 보시고 지워주시면 되실듯 합니다.
    이글타래에서 알려주신것처럼 상단에 내용을 추가해주면 27번째인지 29번째줄에 line 에러가 뜨면서 블로그의 메인화면이 보이지 않습니다.


    comment at 2005/01/18
  107. 한날:

    보아하니 0.94에는 ip 필터링 기능이 태터툴즈 차원에서 들어간 것 같군요. 그렇다면 굳이 제 코드를 쓰실 필요는 없을 거 같습니다.

    제 코드를 index.php 의 어디와 어디 사이에 넣으셨는지요? 간단하게 <? 와 include("inc_global.php"); 사이에 넣으셔도 될 듯 싶습니다.


    comment at 2005/01/18
  108. OldBoy:

    네,
    <?
    여기
    include("inc_global.php");
    에 넣엇더니 에러메세지가 뜨더군요.


    comment at 2005/01/18
  109. 한날:

    죄송하지만, 제 코드를 넣은 index.php 를 제게 보내주실래요? loathing@naver.com 입니다.


    comment at 2005/01/18
  110. 파란바람:

    안녕하세요, 한날 님. ip 로그 남기는 소스를 가져다 쓴 것을 말씀드리러 왔습니다^^;
    글이 하나도 없는데, 다시 방문자가 마구 늘어서 조금 지켜보려고 합니다.
    도움 주셔서 감사합니다=)


    comment at 2005/01/27
  111. 주유 블로그:

    http://www.hannal.com/blog/index.php?pl=476 에 트랙백합니다.


    trackback at 2005/02/08 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  112. Windyrai:

    2005년 02월 12일 73 히트
    2005년 02월 13일 94 히트
    2005년 02월 14일 89 히트
    2005년 02월 15일 136 히트
    2005년 02월 16일 357 히트
    2005년 02월 17일 135 히트
    2005년 02월 18일 7시 28분 현재 279 히트

    최근 일주일 간의 카운터..


    trackback at 2005/02/18 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  113. 레픽:

    위에 있는 IP 로그 기록 코드를 입력해서 확인해본 결과가 한날님 포스트에 있는 것과 유사한 형태로 나타났습니다. 조금 다른 점이라면 엠에센 봇으로 추정되는 아이피와 구글 봇으로 추정되는 아이피인데 위의 포스트에는 없는 아이피라는 점입니다.

    [구글을 기관명으로 가지고 있는 아이피 주소]
    66.249.64.18
    66.249.64.30
    66.249.64.33
    66.249.64.68
    66.249.71.32
    66.249.71.39
    66.249.71.40
    66.249.71.70
    66.249.71.73

    [마이크로소프트를 기관명으로 가지고 있는 아이피 주소]
    207.46.98.69
    207.68.146.55

    자세한 아이피 기록은 제 블로그에 있고 트랙백으로도 걸어두었습니다.


    comment at 2005/02/18
  114. 한날:

    파란바람님/ :D 쓰셨다는 사실을 알리기 위해 먼 걸음은 물론 흔적까지 남겨주시다니, 진정 상냥한 분이십니다!

    레픽님/ 제 글은 봇의 표준을 지키는 봇을 차단하기 보다는 비표준 무법자 봇의 ip를 차단하는 거라, 이 글에 언급하신 ip는 없습니다. :)


    comment at 2005/02/19
  115. 러브홀릭 프로젝트:


    trackback at 2005/02/19 이 의견은 엮인글(Trackback)이며, 모든 내용을 읽으시려면 이곳을 누르세요.
  116. 레픽:

    그럼 제가 거론한 아이피들은 검색엔진의 봇이기 때문에 봇의 표준을 지키는 봇이라는 말인가요? 제가 이해한게 맞는것인지 리플 부탁드립니다;


    comment at 2005/02/19
  117. 한날:

    예 맞습니다. 위 봇들은 봇의 표준을 지키기 때문에 robots.txt 파일을 통해 접근을 막을 수 있을 겁니다. 제가 이 글에서 ip로 차단하는 봇은 robots.txt로 접근을 차단할 수 없기 때문에 php 상에서 접근을 강제로 차단하는 방식을 따르게 된 것이지요.


    comment at 2005/02/19
  118. 레픽:

    그렇군요. 답변 감사합니다..^^


    comment at 2005/02/19

댓글을 남기시면 좋은 일이 생길 겁니다.



XHTML: 옆의 HTML 태그를 사용할 수 있습니다 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>