티스토리 알리미 문제 해결 및 패치

장점 많은 알리미

텍스트큐브가 가진 장점 중 하나는 바로 다른 블로그에 댓글을 단 뒤 다시 댓글이 달리면 바로 확인할 수 있는 "댓글 알리미 서비스"이다. 이 기능은 모든 블로그 도구에 표준적인 방법이 도입됐으면 하는 기능이기도 하다. 그런데 얼마 전 부터 "댓글 알리미 기능이 동작하지 않는다"는 보고가 있었다. 당시 티스토리로 트랙백이 가지 않아 이 문제를 해결하는 글을 올렸는데 알리미 역시 같은 문제로 생각했다.

목차

장점 많은 알리미

텍스트큐브가 가진 장점 중 하나는 바로 다른 블로그에 댓글을 단 뒤 다시 댓글이 달리면 바로 확인할 수 있는 댓글 알리미 서비스이다. 이 기능은 모든 블로그 도구에 표준적인 방법이 도입됐으면 하는 기능[1]이기도 하다. 그런데 얼마 전 부터 "댓글 알리미 기능이 동작하지 않는다"는 보고가 있었다. 당시 로 트랙백이 가지 않아 이 문제를 해결하는 글을 올렸는데 알리미 역시 같은 문제로 생각했다.

희한한 문제

따라서 이 문제에 대한 해결책 역시 이미 제시한 것과 마찬가지다. 그러나 PHP 코드를 모르는 사람은 해결하는 방법을 알아도 실제 파일을 찾아 패치하는 것은 힘들기 때문에 오늘은 티스토리알리미 문제를 해결하는 패치를 올리도록 하겠다. 같은 문제이기 때문에 해결하는 방법도 거의 비슷하고 소스도 거의 비슷하다.

  1. 좋아하는 편집기(예: Editplus)로 library/model/blog.comment.php라는 파일을 연다.
  2. 이 파일의 가장 끝 부분에 다음 함수를 추가한다.

    function commentTistory ($query, $host, $port=80, $timeout=10) {
        $socket = fsockopen($host, $port, $errno, $errstr, 10);
        fwrite($socket, "$query\r\n");
        $res=fread($socket, 10240);
        fclose($socket);
        return $res;
    }
    

    함수를 보면 알 수 있지만 희한한 티스토리 트랙백 문제 해결 및 패치에서 사용한 trackbackTistory을 호환을 위해 이름만 commentTistory로 바꾼 것이다.

  3. notifyComment 함수에서 if (strpos($parentComments['homepage'], "http://") === false) { ... } else { ... } 문 바로 아래에 다음 내용을 추가한다.

    $request = @parse_url($homepage);
    $tistory_host=$request['host'];
    $tistory_port=$request['port'];
    $tistory_path='/';
    $query="GET ".불tistory_path." HTTP/1.1\r\nHost: ".불tistory_host."\r\nConnection: Close\r\n\r\n";
    $res=commentTistory($query, $tistory_host);
    if(preg_match("/Location: ([^\r\n]*)\r\n/is", $res, $match)) {
        $query="GET ".불match[1]." HTTP/1.1\r\nHost: ".불tistory_host."\r\nConnection: Close\r\n\r\n";
        $res=commentTistory($query, $tistory_host);
    }
    

내용을 보면 알 수 있지만 희한한 티스토리 트랙백 문제 해결 및 패치와 마찬가지로 실제 코멘트 핑을 보내기 전에 세션 코드가 붙은 URL을 먼저 요청함으로서 댓글 알리미가 정상적으로 동작하도록 한 것에 불과하다.

블로그에 단 댓글
알리미가 보낸 댓글

블로그에 단 댓글과 알리미가 보낸 댓글을 보면 알 수 있지만 패치하기 전에 단 "와 이런 글을 쓰노?"라는 댓글은 의 댓글 알리미가 나타나지 않지만 그 뒤에 올린 "잘 되나요?"(블로그 주소(https://offree.com/))라는 글과 "진짜로 잘될까요?"(블로그 주소(https://offree.net/))라는 글은 티스토리 알리미에 나타나는 것을 알 수 있다.

관련 글타래


  1. 전자우편으로 알려 주기도 하고 다른 서비스를 이용하면 댓글을 추적하는 것도 가능하지만 역시 불편하다. 따라서 이 기능도 트랙백처럼 표준화됐으면 하는 생각이다. 
2009/02/02 15:13 2009/02/02 15:13
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: https://offree.net/trackback/2276

Facebook

Comments

  1. 흑익 2009/02/02 16:53

    이거 패치는 조금 뒤에 해야겠습니다.
    요즘 컴퓨터 킬 시간도 별로 안나는군요.[....]

    P.S 파이어폭스 충돌문제는 포맷하니 해결되었습니다.
    고장난 사람 머리도 포맷할 수 있으면 좋겠군요.[....]

    perm. |  mod/del. reply.
    • 도아 2009/02/02 16:59

      고장난 사람 머리도 포맷할 수 있으면 좋겠군요.[....]

      정말 그렇죠.

  2. 학주니 2009/02/02 17:33

    쩝.. 도아님의 이러한 패치만 따로 모아서 패치파일로 따로 안만들어줄까요.. -.-;

    perm. |  mod/del. reply.
    • 도아 2009/02/02 17:48

      아마 다음 판에는 자동으로 적용되서 나올 것 같습니다. 똑 같지는 않아도...

  3. 其仁 2009/02/02 17:42

    오홋, 정말 공감가는 흑익님의 댓글이네요. '고장난 사람 머리도 포맷할 수 있으면 좋겠군요.[....]', 제 가슴에 만땅으로 와닿습니다.

    그리고 언제나 좋은 patch 정보를 올려주시는 도아님께도 감사드립니다.

    perm. |  mod/del. reply.
    • 도아 2009/02/02 17:48

      예. 포맷할 수 있다면 바로 포맷해 버리고 싶은 사람이 있으니까요.

    • goohwan 2009/02/02 20:42

      도아 2009/02/02 17:48
      예. 포맷할 수 있다면 바로 포맷해 버리고 싶은 사람이 있으니까요.

      포맷해 버리고 싶은 사람이 누군진 절대 모르지만 2초도 안걸리겠군요^^

    • oneniner 2009/02/03 10:24

      포맷해 버리고 싶은 사람이 누군진 절대 모르지만 2초도 안걸리겠군요
      더 걸릴수도 있을겁니다. 그 사람이 워낙 Read / Write 속도가 느려서 말이죠~ ^^

  4. 징징이 2009/02/02 18:24

    우왓, 좋은 정보 감사드립니다^^
    다만, 오늘은 시간이 없어 내일 해야겠네요 ㅠㅠ

    perm. |  mod/del. reply.
    • 도아 2009/02/02 18:30

      티스토리는 패치할 필요가 없습니다. 텍스트큐브 사용자만 패치하면됩니다.

  5. 아크몬드 2009/02/02 18:26

    아아.. 그래서 도아님 블로그에 댓글을 남기면 티스토리로 전송되지 않았던 거군요..

    perm. |  mod/del. reply.
  6. 공상플러스 2009/02/03 07:53

    와..... 대단하시네요;;;

    난 언제 저 경지에 다다를까

    perm. |  mod/del. reply.
    • 도아 2009/02/03 11:38

      공상님 나이때 저는 컴퓨터를 몰랐습니다.

  7. TISTORY 2009/02/06 19:05

    트랙백/BlogAPI/RSS수집 등, 티스토리측으로 호출을 보내는 기능들이 정상적으로 제공되지 않았습니다. 원인을 파악하여 현재는 수정하였습니다. 이렇게 다른 해결 방법을 제시해주신점 감사드려요~~ 문제점을 파악하고 처리하는데 시간이 오래 걸린점 죄송스럽게 생각합니다.

    감사합니다.

    perm. |  mod/del. reply.
    • 도아 2009/02/07 04:19

      예. 시간이 너무 오래 걸리더군요. 그덕에 고생좀 했습니다. 처리가 됐다니 다행입니다.

클릭!

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.