얼마 전에 올린 글,      희한한 티스토리의 트랙백 문제에서 설명한 것처럼 일부 블로그에서 로의 트랙백이 되지 않고 있다. 또 여기에 댓글 알리미도 동작하지 않는다고 한다. 미루어 짐작하지만 댓글 알리미도 같은 문제로 동작하지 않는 것으로 생각된다. 또 이 문제는 티스토리에서 트랙백 스팸을 막기위해 세션 URL을 사용하기 때문에 발생하는 일로 추정하고 있다.

그림을 보면 알 수 있지만 GET으로 트랙백 URL을 요청하면 세션 코드가 붙은 URL을 반환한다. 그리고 이 URL로 다시 요청을 한 뒤 트랙백을 보내면 트랙백이 정상적으로 간다. 원래는 이 기능을 구현한 프로그램을 따로 작성한 뒤 이 프로그램을 이용해서 세션 코드가 붙은 URL을 요청한 뒤 로 트랙백을 보냈었다. 그러나 이 방법은 일반인들이 적용하기 힘들며, 두번 작업을 해야 하기 때문에 아예 텍스트큐브를 패치했다. 절차는 다음과 같다.

  1. 좋아하는 편집기(예: EditPlus    )로 library/model/blog.trackback.php 파일을 연다.

  2. 이 파일의 끝 부분에 다음 내용을 추가한다.
    function trackbackTistory ($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;
    }

  3. sendTrackback 함수에서 if ($isNeedConvert) {...} else {...}문을 찾은 뒤 else문의 $isSuccess = $request->send($content); 다음 행에 아래의 내용을 추가한다.
    if(!$isSucess) {
    	//url로 호스트와 포트, 경로를 판정
    	$request = @<a href="https://twitter.com/parse_url" target="_blank">parse_url</a>($url);
    	$tistory_host=$request['host'];
    	$tistory_port=$request['port'];
    	$tistory_path=$request['path'];
    	// 트랙백 URL을 요청
    	$query="GET ".$tistory_path." HTTP/1.1\r\nHost: ".$tistory_host."\r\nConnection: Close\r\n\r\n";
    	$res=trackbackTistory($query, $tistory_host);
    	// 세션 코드가 붙은 URL을 찾아 이 URL로 다시 요청
    	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=trackbackTistory($query, $tistory_host);
    	}
    	// 트랙백을 다시 보냄
    	$request = new HTTPRequest('POST', $url);
    	$request->contentType = 'application/x-www-form-urlencoded; charset=utf-8';
    	$request->referer = $link;
    	$isSuccess = $request->send($content);
    }

내용을 보면 알 수 있지만 $isSucess가 false면 요청한 URL로 세션 코드가 붙은 URL을 가져온다. 그리고이 URL을 다시 요청한 뒤 트랙백을 보내도록 한 것이다. 실제 이 코드를 삽입한 뒤 주1에도 트랙백이 정상적으로 가는 것을 확인했다. 줄 번호를 입력하는 것이 더 도움이 되겠지만 현재 내가 사용하고 있는 텍스트큐브는 1.7.7 베타2이고 중간에 수정한 부분이 있기 때문에 줄 번호는 생략했다.

관련 글타래
잠깐만
  1. 누에고치님의 글, 4대강 정비 사업의 필요성    에 트랙백을 보냈다. 처음에는 트랙백을 보낼 수 없다는 메시지가 떳지만 이 패치를 적용하자 바로 트랙백이 전송됐다.
2009/01/30 17:31 2009/01/30 17:31
글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
오늘의 이슈 다음에서 새롭게 서비스하고 있는 소셜픽입니다. OpenAPI로 구현한 것이 아니라 가끔 사라질 때도 있습니다. 또 10분에 한번 갱신하기 때문에 실제 소셜픽과 약간 차이가 있습니다.
  1. 1
    검색: 831,238 트윗: 3,504 댓글: 9,013
    기자 = 국가정보원과 경찰의 정치·선거개입과 관련해 대학가와 시민사회에서 규탄 움직임이 거세게 일고 있다. 대학가에서는 시국선언 등 각종 입장 발표를 준비하고 있고, 시민사회단체들의 소송과 기자회견도 줄을 잇고 있다. ◇대학가, 시국선언·
  2. 2
    검색: 100,835 트윗: 6,261 댓글: 6,108
    국정원 게이트 국정조사를 요구하며 서명 받았던 표창원 전 교수가 10만명의 청원서를 들고 새누리 당사 앞에 나타났습니다. 기자회견 갖은후 새누리당 민원국장에게 청원서를 전달 했답니다. 온라인 청원서를 무시할 경우 서울광장에 10만명
  3. 3
    검색: 145,821 트윗: 3,483 댓글: 4,691
    없는 쓰레기 종이뭉치"라고 비판했다. < 한국일보 > 용역 동원 초유의 편집국 폐쇄... 왜? ▲ < 한국일보 > 편집국 폐쇄에 출동한 경찰 장재구 < 한국일보 > 회장이 용역 업체를 동원해 편집국을 폐쇄하는 언론 역사상 초유의 사태가
  4. 4
    검색: 59,044 트윗: 697 댓글: 3,242
    부회장은 "차기 감독이 한국 축구 발전을 위해 시간을 가질 수 있게 협회 차원에서 배려할 것"이라고 밝혀 2018년 월드컵까지 염두에 둔 장기계약이 이뤄질 수도 있음을 시사했다. 홍 감독은 거스 히딩크 전 한국 감독이 이끄는 러시아 프
  5. 5
    검색: 21,955 트윗: 2,733 댓글: 809
    축사였다. "아프리카 속담에 '빨리 가려면 혼자 가고, 멀리 가려면 함께 가라'고 했다." 민주당 김한길 대표가 19일 무소속 안철수 의원의 싱크탱크인 '정책네트워크 내일'의 창립기념 심포지엄의 연단에 올라 꺼낸 마무리 발언이다. 김
  6. 6
    검색: 15,506 트윗: 1,784 댓글: 1,148 MB정권의 보금자리주택 사업을 떠맡으면서 부채비율이 급등한 토지주택공사와 비슷한 처지다. 그러나, 공공기관 경영실적평가에서 두 기관의 운명은 엇갈렸다. LH의 경우 평균 이하인 C등급을 받은 반면, 수자원공사는 B등급을 유지했다.
  7. 7
    검색: 1,375,754 트윗: 1,663 댓글: 1,267 속 두 사람의 모습은 다정했고, 필시 연인의 모습이었다. 갑작스럽게 터진 열애설이 결혼설로 불거지면서 박지성은 급하게 기자회견을 계획했다. 박지성이 설립한 JS 파운데이션의 재능학생 후원금 전달식전에 공식적인 발표를 하며 열애를 인정했다.
  8. 8
    검색: 21,285 트윗: 98 댓글: 2,717 축구대표팀에 거액의 포상금이 지급된다. 대한축구협회는 지난 12일 의결한 대로 2014 브라질월드컵 본선 진출에 성공한 대표팀에 규정에 따라 포상금을 지급한다고 밝혔다. 이에 따라 한국을 브라질로 이끈 최강희 감독은 1억5천만원의 보너스를
  9. 9
    검색: 4,876 트윗: 1,360 댓글: 1,215 받아줄 것처럼 하면서 뒤로는 밀어내기와 과도한 매출목표 설정 등 불공정행위를 인정하지 않고 있다"며 협상 결렬을 선언했다. 남양유업은 지난 17일 '어용단체' 의혹을 받아온 현직 대리점협의회와 협상을 타결했다. 또 언론을 통해 "피해자협의회가
  10. 10
    검색: 7,483 트윗: 642 댓글: 1,876 일본이 컨페더레이션스컵 이탈리아와 경기서 후반 시작과 동시에 이탈리아에 2-3으로 역전당했다. 일본은 20일 브라질 레시페의 페르남부쿠 아레나에서 열린 2013 국제축구연맹 컨페더레이션스컵
오늘의 글
인기있는 글
컴퓨터 팁&텍
트랙백 많은 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: http://offree.net/trackback/2270

  1. Subject : 티스토리 fsockopen() 문제 간단하게 해결하기

    Tracked from HEURISTING.NET 2009/02/01 04:43 del.

    어쩐지 요 근래 들어서 티스토리 쪽 글이 수집이 안된다 했는데, 도아님의 글을 보고 원인을 알았습니다. 도아님 글에는 티스토리에서 fsockopen() 함수가 왜 동작하지 않는지 원리와 텍스트큐브

Facebook

Comments

  1. 공상플러스 2009/01/30 18:26

    음.. 이래서 댓글 알리미가 동작을 안했군요

    그래서 댓글 확인할 때마다 이 블로그에 들어오는 수고가 줄겠네요

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

      공상플러스님은 텍스트큐브 아닌가요?

  2. LieBe 2009/01/30 19:03

    오호~~~
    드디어 택큐 유저들에게 트랙백 보내는게 문제가 음써지는건가......

    라고 해도 트랙백 문제되던곳은 한군대였을뿐...OTL

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

      티스토리는 잘 가더군요. 알리미도 비슷한 문제로 보입니다.

  3. 민노씨 2009/01/30 19:07

    리베님께서 알려주셔서 냉큼( ^ ^; ) 달려왔습니다.
    제 경우에는 티스토리에서 저에게 보내오는 트랙백을 계속해서 튕겨내고 있는데요(최근에는 제가 보내는 것도 잘 안되고 말이죠).

    도아님께서 알려주신 방법을 한번 시도해봐야겠네요.

    고맙습니다. : )

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

      받는 것이 안되는 문제는 제가 관리자가 아니라서 확인할 수 없지만 보내는 것이 안되는 문제는 확실히 이방법으로 고칠 수 있습니다.

  4. 구차니 2009/01/30 20:07

    그래서 요즘에 댓글 알리미가 작동을 안했나보군요 ㅠ.ㅠ
    저는 소외당해서 리플도 안달아 주시는줄 알고 우울해 있었는데 말이죠.

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

      티스토리는 계속 말썽이군요. 예전에는 서버가 죽더니, 사진을 날리고 이제는 트랙백을 씹고...

  5. CaN Tips 2009/01/30 20:08

    좋은 정보 감사합니다. 잘 해결되었습니ㅏ.

    perm. |  mod/del. reply.
  6. 학주니 2009/01/30 20:12

    꼭 필요로 하는 패치군요 ^^

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

      텍큐를 쓰면 꼭 해주어야 하는 패치입니다.

  7. 하이컨셉 2009/01/30 20:52

    ㅋㅋ 드디어 해결이 났군요. 대단하세요 스팸 트랙백을 막기 위한 세션 URL 문제라는 것을 찾아낸 것이나, 문제를 해결한 것이나 ...

    perm. |  mod/del. reply.
    • 도아 2009/02/01 08:19

      티스토리로 10여일 동안 트랙백이 가지 않고 텍큐측에서도 해결책을 내놓지 않아서 직접 패치했습니다.

  8. okto 2009/01/30 20:56

    꼭 필요할 때 맞춰서 해결을 해주시는군요. 무한 감사드립니다.

    perm. |  mod/del. reply.
  9. 최면 2009/01/31 03:00

    역시 도아님은 완소남입니다 ㅎㅎ

    아주 상콤합니다~ 감사합니다~ ^^*

    perm. |  mod/del. reply.
    • 도아 2009/02/01 08:20

      최면님이 무척 힘들어 하시는 것 같아서...

  10. goohwan 2009/01/31 04:29

    그럼 위 방법을 스팸 트랙백을 날리는 사람들이 사용하게 되면 어떡하죠? ㅜㅜ

    perm. |  mod/del. reply.
    • 도아 2009/02/01 08:20

      스팸 트랙백으로 추정하고 있을 부뿐 실제 그런지는 모릅니다. 그리고 스팸을 막기 위해 트랙백이 막힌다면 당연히 고쳐야 겠죠.

  11. Kael H. 2009/01/31 05:27

    텍큐를 쓰고 있지만.....
    일단 좀더 놔두고 보렵니다.
    goohwan님의 걱정처럼 스팸 트랙백으로 시달릴수 있기 때문에...

    perm. |  mod/del. reply.
    • 도아 2009/02/01 08:21

      시달리는 것 하고는 다른 문제입니다.

  12. 하민혁 2009/01/31 09:38

    텍스트큐브 1.7.7 베타2로 갈아탄 이후 특정 서비스로의 트랙백이 안 되더니 도아님이 한 방에 해결을 해주셨네요 패치 후 확인해보니 모든 서비스로의 트랙백이 원활하게 작동하고 있습니다 고맙습니다

    도아님 글을 TNF 포럼 게시판의 문답게시판에 링크로 겁니다
    http://forum.tattersite.com/ko/viewtopic.php?id=7657

    perm. |  mod/del. reply.
  13. 흑익 2009/02/01 03:16

    아...그게 원인이었군요.
    왜 안되나 궁금했었습니다.

    perm. |  mod/del. reply.
    • 도아 2009/02/01 08:21

      조금 희한하지만 이게 원인이더군요.

  14. zasfe 2009/02/01 11:30

    불편했는데 좋은정보 감사합니다.

    perm. |  mod/del. reply.
  15. 휴리스틱 2009/02/01 13:29

    저도 며칠 전부터 티스토리로 트랙백이 안가더라고요. 트랙백 뿐만이 아니라 웹에서 티스토리로 가는 소켓 자체가 열리지가 않았습니다. 그래서 티스토리에서 제 웹서버를 스팸으로 오인하고 차단했나 했었는데, 도아님 글을 보고 문제를 해결할 수 있었습니다. 감사합니다.

    perm. |  mod/del. reply.
  16. 其仁 2009/02/04 15:17

    그런데, 이 패치를 적용 후에 egloos 블로그로 트랙백을 보내면 꼭 2개씩 가게 됩니다. ㅠ.ㅠ 그래서 일단 원복시켰습니다.

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

      일단 조만간 새로운 패치를 올릴 생각입니다.

  17. 하민혁 2009/02/16 20:58

    위에서 다른 분도 문제점을 제기해주셨는데요.
    이글루스 뿐만 아니라 네이버 블로그, 파란블로그를 비롯하여 일부 설치형 블로그에도 몽땅 2개씩 날아갑니다. 새로운 패치 기다리다가 눈 빠질 지경입니다. 패치 언능 좀 해주세요. -_-

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

      요즘은 온갓 것들이 블로깅을 한다고 난리인가 보군요. 그러나 이 패치는 인간을 위한 것이랍니다.

  18. 하민혁 2009/02/17 14:11

    네. 그렇군요.
    근데, 패치는 언제 나오나요? 인간 아닌 블로거를 위한 패치라도 패치는 좀 해주세요.

    <덧> 즐겨 하는 트랙백을 못 보내고 있습니다. -_-

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

      제목만 보고 트래픽을 보내기 때문이랍니다. 확인해 보니 휴지통에 있더군요. 아마 쓰레기라는 것을 텍스트큐브도 아는 모양입니다.

쥐박쥐가 아니라면 소통하세요!!!

(옵션: 없으면 생략)

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