희한한 티스토리의 트랙백 문제
트랙백 문제
이 블로그는 계속 트랙백 문제가 있었다. 어떨 때는 트랙백이 가지 않는다. 또 이덕에 트랙백으로 동작하는 다음 블로거뉴스 플러그인도 동작하지 않았다. 결국 이 문제는 날 잡아 해결을 봤다. 그런데 또 블로거뉴스 플러그인이 동작하지 않았다. 이 문제는 블로거뉴스에서 API를 바꾸었기 때문에 발생한 현상으로 역시 직접 패치했다. 그런데 또 트랙백이 동작하지 않았다. 그런데 이번에는 소스를 분석해도 그 원인을 찾을 수 없었다.
목차
트랙백 문제
이 블로그는 계속 트랙백 문제가 있었다. 어떨 때는 트랙백이 가지 않는다. 또 이덕에 트랙백으로 동작하는 다음 블로거뉴스 플러그인도 동작하지 않았다. 결국
인터넷을 찾아 봤지만 이 오류에 대한 질문은 있어도 답은 없었다. 그러던 중 어제 저녁 갑자기 티스토리의 트랙백이 정상적으로 동작하는 것을 확인했다. 그래서 이 문제는 티스토리 서버의 문제로 봤다. 아울러 티스토리 서버에서 이 문제가 고쳐진 것으로 생각했다. 그런데 오늘 다시 트랙백을 보내려고 하니 역시 트랙백이 보내지지 않았다. 그래서 어제 시도한 방법을 그대로 다시 시도해 봤다.
트랙백을 보낸 방법
그런데 한 가지 재미있는 것은 이 방식으로 하면 잠깐 동안은 트랙백이 간다는 점이다. 일단 어떤 방법으로 트랙백을 보냈는지 확인해 보자. 일단 블로그를 호스팅하고 있는 서버에 다음과 같은 트랙백 전용 프로그램을 만들었다.
<? $socket = fsockopen('offree.com', 80, $errno, $errstr, 10); $query=<<<___QUERY___ POST /trackback/473 HTTP/1.1 Host: offree.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 Content-Length: 2129 Connection: Close url=http%3A%2F%2Foffree.net%2F2263&title=%EC%A3%BD%EC%9C%BC%EB%A9%B4%20%EC%A0%9C%EB%B0%9C%20%EC%A7%80%EC%98%A5%EC%97%90%20%EA%B0%80%EA%B2%8C%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94&blog_name=%EB%8F%84%EC%95%84%EC%9D%98%20%EC%84%B8%EC%83%81%EC%82%AC%EB%8A%94%20%EC%9D%B4%EC%95%BC%EA%B8%B0&excerpt=%EB%82%B4%EA%B0%80%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%97%90%EA%B2%8C%20%ED%95%AD%EC%83%81%20%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%95%BC%EA%B8%B0%EA%B0%80%20%EC%9E%88%EB%8B%A4.%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%9D%B4%20%EA%B0%80%EB%8A%94%20%EA%B3%B3%EC%9D%B4%20%EC%B2%9C%EB%8B%B9%EC%9D%B4%EB%9D%BC%EB%A9%B4%20%EB%82%9C%20%EC%96%B8%EC%A0%9C%EB%82%98%20%EC%A7%80%EC%98%A5%EC%9D%84%20%ED%83%9D%ED%95%98%EA%B2%A0%EB%8B%A4.%20%EB%82%B4%EA%B2%8C%20%EC%B2%9C%EB%8B%B9%EC%9D%80%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%20%EC%97%86%EB%8A%94%20%EA%B3%B3%EC%9D%B4%EB%8B%A4.%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%9D%B4%20%EB%AA%A8%EB%A5%B4%EB%8A%94%20%EA%B2%83%EC%9D%80%20%EC%83%81%EB%8B%B9%ED%9E%88%20%EB%A7%8E%EB%8B%A4.%20%EA%B7%B8%20%EC%A4%91%ED%95%98%EB%82%98%EA%B0%80%20%EB%B0%94%EB%A1%9C%20%EC%97%AD%EC%A7%80%EC%82%AC%EC%A7%80%EB%8B%A4.%20%EC%97%AD%EC%A7%80%EC%82%AC%EC%A7%80%EA%B0%80%20%EB%AC%B4%EC%8A%A8%20%EB%9C%BB%EC%9D%B8%EC%A7%80%20%EB%AA%A8%EB%A5%B4%EB%8A%94%20%EA%B8%B0%EB%8F%85%EA%B5%90%EC%9D%B8%EB%93%A4%EC%9D%B4%20%EB%A7%8E%EC%9D%80%20%EA%B2%83%20%EA%B0%99%EC%95%84%20%EB%B6%80%EC%97%B0%20%EC%84%A4%EB%AA%85%ED%95%98%EC%9E%90%EB%A9%B4%20%EC%97%AD%EC%A7%80%EC%82%AC%EC%A7%80%28%E6%98%93%E4%B9%8B%E6%80%9D%E4%B9%8B%29%EB%8A%94%20%EC%B2%98%EC%A7%80%EB%A5%BC%20%EB%B0%94%EA%BF%94%20%EC%83%9D%EA%B0%81%ED%95%98%EB%9D%BC%EB%8A%94%20%EB%9C%BB%EC%9D%B4%EB%8B%A4.%20%EC%9D%B4%EB%9E%98%EB%8F%84%20%EB%AA%A8%EB%A5%B4%EB%8A%94%20%EC%82%AC%EB%9E%8C%EC%9D%B4%20%EC%9E%88%EB%8B%A4%EB%A9%B4%20%EA%B9%80%EA%B1%B4%EB%AA%A8%EC%9D%98%20%EB%85%B8%EB%9E%98%2C%20%ED%95%91%EA%B3%84%EC%9D%98%20%EA%B0%80%EC%82%AC%20%EC%A4%91%20%22%EC%9E%85%EC%9E%A5%20%EB%B0%94%EA%BF%94%20%EC%83%9D%EA%B0%81%EC%9D%84%20%ED%95%B4%EB%B4%90%22%EB%A5%BC%20%EB%96%A0%EC%98%AC%EB%A6%AC%EB%A9%B4%20%EB%90%9C%EB%8B%A4.%20%EC%9A%94%EC%A6%98... ___QUERY___; fwrite($socket, "$query\r\n"); $res=fread($socket, 10240); fclose($socket); echo $res; ?>
확인 절차
소스를 보면 알 수 있지만 fsockopen
을 이용해서 offree.com
에 소켓 연결한 뒤 HTTP 명세와 트랙백 명세에 따라 트랙백을 전송하고 그 결과를 화면에 뿌려 주는 간단한 프로그램이다.
- 이 프로그램을 웹에서 실행하면 다음 그림처럼 'HTTP/1.1 408 Request Timeout' 메시지가 출력된다.
- 프로그램 소스를
POST /trackback/473
을GET /trackback/473
로 바꾼 뒤 다시 실행하면 그림처럼 'HTTP/1.1 302 Moved Temporarily'라는 메시지가 나타난다. - 이 응답은 주소가
/trackback/473
에서/trackback/473?a97ceeb0
로 바뀐 것을 말하므로 소스를GET /trackback/473
에서GET /trackback/473?a97ceeb0
로 바꾼 뒤 다시 실행하면 그림처럼 다시 'HTTP/1.1 302 Moved Temporarily'라는 메시지가 나타난다. - 이 상태에서 소스를
GET /trackback/473?a97ceeb0
에서 다시 원래의 상태인POST /trackback/473
로 바꾼 뒤 실행하면 다음 그림처럼 트랙백이 정상적으로 전송됐다는 응답 메시지가 나타난다.
일단 이런 단계를 거친 뒤 티스토리에 트랙백을 보내보면 한동안은 트랙백이 정상적으로 간다. 물론 일정 시간이 지나면 다시 트랙백을 보낼 수 없는 상태가 된다. 결국 티스토리에 트랙백을 보내는 것은 이 프로그램을 이용해서 티스토리에 트랙백이 정상적으로 가도록 바꾼 뒤 텍스트큐브에서 트랙백을 보내고 있다.
처음에는 카페24의 문제인가 싶어서 다른 무료 호스팅[1]에서 텍스트큐브[2]로 트랙백을 보내봤지만 역시 트랙백은 전송되지 않았다. 따라서 카페24의 문제가 아니라 티스토리 서버의 문제로 보이지만 아직까지 이런 현상에 대한 명백한 이유는 알 수 없었다.
참고로 이 과정에서 "URL이 없다"는 메시지(오류 코드 5), "해당하는 글에는 트랙백을 보낼 수 없다"는 메시지(오류 코드 3)도 얻었다. 해당 글에는 트랙백을 보낼 수 없다는 메시지(오류 코드 3)은 같은 글에 같은 트랙백을 보낼 때 발생하는 것[3]으로 봐서 스팸 트랙백을 방지하는 기능으로 보인다.
관련 글타래- 설치형 블로거의 고민, 일일 트래픽 줄이기 서비스형 블로그(예: 티스토리)를 사용할 것인지 아니면 ... 새창
- 유튜브 동영상, 화질 올려 삽입하기 화제집중 동영상도 유튜브로 올렸다. 그러나 역시 마음에 들지... 새창
- 텍스트큐브: 로그인 페이지에 로고 추가하기 티스토리에 로그인하며 로그인 상태가 쿠키로 유지되며 이... 새창
- 텍스트큐브용 Moving Box 1단 공개 얼마 전 님이 진행하고 있는 도토리속 참나무 프로젝트를 ... 새창
- Moving Box는 표절? 요즘 사용하고 있는 스킨은 티스토리에서 얼마 전에 발표한 Moving... 새창
- Codex.kr이라는 무료 호스팅이다. 월 30G의 전송량을 제공하기 때문에 하루 전송량이 1G 미만인 사람에게는 상당히 유용한 무료호스팅이다. 또 월 전송량을 따지기 때문에 하루 전송량이 1G를 초과해도 사이트가 닫히는 문제는 발생하지 않는다. 마지막으로 제어판을 이용하면 상당히 여러 가지 웹 프로그램을 손쉽게 설치할 수 있는 잇점도 있다. ↩
- Codex.kr에는 도아의 게임이야기(https://gemul.net/)을 호스팅하고 있다. ↩
- 해당 글로 보낸 트랙백을 삭제한 뒤 휴지통까지 비우면 같은 URL의 트랙백을 보낼 수 있다. ↩