썰렁한 엔지니어

Adventures of Bilbo Baggins

BlogAPI 의 보안성에 대한 진짜 짧은 생각

2007/03/23 10:44  |   장난하기/BlogAPI  |   최호진
원격 블로깅 혹은 메타웹를로그 등으로 알려진 블로그 API를 이용한 글 올리기/수정 기능은 기본적으로 원격지에 자신의 암호를 넣어야합니다. 그것도 일반 텍스트로 넣어야하지요. 현재 MetaWeblogAPI나 MovableType등의 그 뿌리가 같은 xml-rpc류에는 일회용 암호를 제공하는 기능이 없습니다. 음, BlogAPI 에서 사용될 수 있는 암호를 추가하는 것은 어떨까요?
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/03/23 10:44 2007/03/23 10:44

태터툴즈용 Blogger,MetaWeblog API 0.9.10

2006/09/23 04:06  |   장난하기/BlogAPI  |   최호진
태터툴즈 1.0.x 에 원격 블로깅을 가능하게 해주는 플러그인입니다.

http://coolengineer.com/files/blogapi/b ··· 9.10.zip

에서 받으시면 됩니다.

----

Blogger, MetaWeblog API for Tattertools.

(C) Copyright Hojin Choi, All right reserved.
You can distribute this program under GNU GPL license.

1. 먼저 환경설정의 플러그인 메뉴에서 BlogAPI를 활성화하십시오.

2. 블로깅 툴의 URL 지정위치에 다음 중 하나로 설정하십시오.

       http://YOURDOMAIN/<TT-installpath>/plugin/BlogAPI
       http://YOURDOMAIN/<TT-installpath>/plugin/blogapi

       http://YOURDOMAIN/<TT-installpath>/plugin/BlogAPI/xmlrpc
       http://YOURDOMAIN/<TT-installpath>/plugin/blogapi/xmlrpc

       다중 사용자의 경우 <TT-installpath> 에 자신의 경로를 모두 넣어 주셔야 합니다.

3. 태터툴즈 스킨을 편집하면 자동으로 api 위치를 자동으로 인식시킬 수 있습니다.
       1.0.5 이하에서는 아래 태그를 스킨에 넣으십시오.

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="/<TT-installpath>/plugin/BlogAPI/rsd" />

       Zoundry에서는 Homepage만을 입력함으로 자동으로 xmlrpc 경로를 인식할 수 있습니다.

기능:
1. Blogger API
2. MetaWeblog API
3. 테스트된 클라이언트: writely.com, zoundry, performancing
4. RSD(Really Simple Discovery) 지원
5. ID 를 URL에 넣어 전달 가능
       http://YOURDOMAIN/<TT-installpath>/plugin/BlogAPI?id=your@email.com

6. Semagic의 경우 ID가 15자를 넘으면 지원하지 않습니다. 이경우 다음과 Semagic의 File/Server settings에
  Path 를 다음과 같이 사용하세요.
       /<TT-installpath>/plugin/BlogAPI?id=your@email.com
       그리고 Username 은 아무거나 넣어 주시고, API는 MetaWeblog를 사용하시면 됩니다.


Versions:
----------------------------------------------------------------------------
* Version 0.9.10 (2006-09-23):
+ Fix
       - Aladdin의 Thanks to blogger를 이용한 포스팅은 기본 카테고리를 "Aladdin"으로 설정해 오는데,
         카테고리가 없을 경우 오류가 나는 것을 카테고리 없는 것으로 동작하도록 변경

크리에이티브 커먼즈 라이센스
Creative Commons License
2006/09/23 04:06 2006/09/23 04:06

태터툴즈용 Blogger,MetaWeblog API 0.9.9

2006/08/30 20:08  |   장난하기/BlogAPI  |   최호진
* 0.9.8 에서 달라진 것은 Windows Live Writer 의 카테고리가 안나오는 것만 고친 것입니다.

metaweblog api 의 getCategories를 제가 잘못 구현했더군요. T.T

Download:http://coolengineer.com/files/blogapi/BlogAPI-0.9.9.zip
README:http://coolengineer.com/files/blogapi/README-0.9.9.txt




크리에이티브 커먼즈 라이센스
Creative Commons License
2006/08/30 20:08 2006/08/30 20:08

Writely.com 과 블로그 API

2006/08/30 15:29  |   장난하기/BlogAPI  |   최호진
Writely.com 의 버그 두가지가 있습니다.

하나는, 한글로 설정한 태그가 api 쪽으로 전달될 때, 깨지는 현상이 존재하고,
또 하나는, 블로그의 제목에 한글이 들어가 있으면 올바른 블로그가 아닌것 같다는 팝업 메시지를 내면서 아무것도 하지 않습니다.

아니.. 윗 글중 두번째는 거의 추측입니다. 되었다가 안되었다가...

http://groups.google.com/group/Something-in-Writely-is-Broken/search?group=Something-in-Writely-is-Broken&q=to+be+a+valid+url&qt_g=1&searchnow=%EC%9D%B4+%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC+%EA%B2%80%EC%83%89
http://groups.google.com/group/Something-in-Writely-is-Broken/browse_frm/thread/b4ce71c111b45159

오랜전부터 있던 버그인데, 상당히 많은 블로그 시스템이 비슷한 증상을 보이고 있고, 어떤 관계자 답변에는 개발자에게 전달되고 있다고만하고 있다.

음... 맘에 안듭니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2006/08/30 15:29 2006/08/30 15:29

태터툴즈와 MetaWeblogAPI의 첨부파일 다루기

2006/07/13 03:12  |   장난하기/BlogAPI  |   최호진

태터툴즈의 위지윅에디터에서는 훌륭한 인터페이스로 그림등을 첨부할 수 있다. 그 절차를 잘 살펴 보면,

  1. 멋있는 글 작성
  2. 예쁜 그림 추가
  3. 완료 버튼
  4. 예쁜 그림의 소속을 멋있는 글 소속으로 DB 갱신

MetaWeblog API는 두 단계로 호출이 일어나는데,

  1. 좋은 툴로 멋있는 글을 작성후 예쁜 그림 추가.
  2. 포스트 버튼을 누름
  3. 예쁜 그림을 전송한 뒤 그 그림에 할당되는 새로운 URL 받음
  4. 멋있는 글 내부를 예쁜 그림의 새 URL로 바꾸어 전송

이러다 보니, 예쁜 그림의 소속이 어딘지 알 수 있는 방법이 없어지게 된다. 0.9.7까지에서 사용한 방법은 이러했다.

  1. 좋은 툴로 멋있는 글을 작성후 예쁜 그림 추가.
  2. 포스트 버튼을 누름
  3. 예쁜 그림을 전송한 뒤 그 그림에 할당되는 새로운 URL 뒷 부분에 "?__preview__{주인,소속}" 을 추가.
  4. 멋있는 글 내부를 예쁜 그림의 새 URL로 바꾸어 전송.
  5. API에서는 "?__preview__{...}" 를 찾아서 그림의 소속을 갱신
  6. 본문에서는 "?__preview__{...}"를 제거하여 DB에 넣음.

대개 "?" 앞까지만 인식하여 처리하기 때문에 안보이는 문제는 없게된다. 자, 여기까지 생각하면 문제가 없을 것 같은데, 그것이 그렇지 않다. 저 좋은 툴로 수정하여 올릴 경우, 그림이 또 전송된다. 그러면 새로운 URL이 만들어지는 작업이 일어나고, 이전 그림은 소속은 유지되지만, 문서상에서 링크를 잃게 된다.

따라서, 원래 MetaWeblog api의 취지인, 같은 이름의 파일이 전송될 경우 이전 것을 대치한다는 원칙을 그대로 준수하여 그림의 md5 값을 구해서 파일 이름으로 삼고, 한 번 올라온 그림이 다시 올라오는지를 확인하고 삭제하도록 하였다. 이렇게 되면 같은 그림을 두 번 올리는 일이 발생할 경우 이전 것을 대치하므로 잃어버린 링크를 가진 그림은 없게 된다. 다만, 사용자는 같은 그림을 두 개의 글에 올릴 수는 없게 된다.

태터툴즈와 블로그 API가 가지는 차이에서 오는 고민은 여기까지.


크리에이티브 커먼즈 라이센스
Creative Commons License
2006/07/13 03:12 2006/07/13 03:12