영어 중환자 (English Trackback Patient) – Draco개조버전

오리지널 영어 중환자 플러그인은 영어로된 트랙백을 받아들이지 않는 텍스트큐브의 플러그인입니다. 이 플러그인은 Draco Anti-Spam 플러그인의 기초가 되기도 했습니다.

Draco에 의해 개조된 영어 중환자 플러그인은 한글이 없는 트랙백을 받아들이지 않습니다. 따라서 중국어/유럽어 스팸이나 내용이 공백인 스팸을 더 방어할수 있게 됩니다.

또한 영어 중환자 플러그인이 받아들이는 $target함수에 대한 올바른 처리를 하여, 중환자 플러그인보다 먼저 처리되는 스팸 플러그인이 거부를 한 트랙백의 경우 역시 받아들이지 않게 바꾸었습니다.

오픈소스의 프로그램에서 아이디어나 소스코드를 얻어 발전을 하게되면, 원래의 프로그램에 다시 기여를 하는게 도리라고 생각해서 개조버전을 공개합니다. 원작자나 주소는 바꾸지 않았으나, 주요기능이 바뀌었기 때문에 문제점은 제 블로그에 연락해주시기 바랍니다.

주의 : 이 플러그인은 외국인 블로거가 트랙백을 걸곤 하는 블로그에서는 그 외국인에게 불편함을 줄 수도 있습니다. 또한 유니코드가 아닌 완성형 코드로 트랙백을 보내는 일부 블로거의 트랙백도 한글로 판단하지 못하고 차단될 수 있습니다.

가장자리가 튀는 올블로그와 텍스트큐브 파비콘

파이어폭스에서 밝은 테마를 쓸땐 몰랐던 사실.

사용자 삽입 이미지
북마크 도구모음 200% 확대...

 어두운 테마로 바꿨더니, 올블로그의 파비콘에서 가장자리 부분이 튄다.

사용자 삽입 이미지
파이어폭스 북마크 속의 내 블로그들

설치형 텍스트큐브의 파비콘도 마찬가지인데, 특이한 점은 서비스형 텍스트큐브닷컴과는 파비콘을 다른걸 쓰고 있다. 역시 밝은 테마를 쓸땐 같은걸 쓰는 줄 알았다.

갑자기 왜 어두운 테마를 쓰냐 하면…. 생략.

로그인하면 예약글을 미뤄주는 Draco Delay – 1.01

데스노트에서 L이 죽자, 컴퓨터를 사용 안하면 자동으로 메시지가 보내지도록 되어있던것 기억 나시나요? ^^;

Draco Delay 는 블로그 사용자가 로그인할때마다  예약된 글의 예약시간을 지정된 시간만큼 더 늦춰주는 플러그인입니다.

일이 있어 접속을 못한 날에 알아서 공개될 글을 써두거나, 부재중의 메시지를 글로 만들어 이 플러그인으로 설정해두면, 사용자가 접속했을 경우 자동으로 공개를 늦춰주고, 접속이 없을 경우에 공개되게 됩니다.

자세한 설명은 http://sites.google.com/site/draco-textcube-plugins/draco-delay

다운로드
– 버전 1.01 : 글번호를 지정하지 않으면 예약글이 미뤄지지 않는 문제 수정

ps.
Draco Delay 는 이름이 이상하지만, 그냥 플러그인 이름들이 A,B,C로 시작하는건 만들었길래 붙인거니 넘어가시기 바랍니다. 🙂 그리고 이 플러그인은 설치형 텍스트큐브용 플러그인입니다. (티스토리에 쓰는 방법 없냐는 질문은 제발 하지마세요….한 20번은 들은거 같네..;;)

Draco Anti-Spam ver. 0.46

더 최신버전이 발표되었습니다.

스크린샷-Draco Anti Spam 설정 - Mozilla Firefox

1. 소개

텍스트큐브용 안티스팸 플러그인입니다. 댓글과 트랙백으로 오는 스팸을 걸러냅니다.

EAS는 학습기능이 있는 가장 훌륭한 스팸차단 플러그인이지만 이올린 서버가 과부하가 걸리거나 통신이 늦을경우 불편해지는 문제점이 있는데, Draco Anti-Spam은 그런 경우 사용하기 위한 대안 플러그인입니다. 

자세한 기능은 위의 플러그인 설정 메뉴들을 보시면 이해가 되실겁니다.

2. 특징

  • ‘한글’이 없는 댓글과 트랙백 삭제, 중복되는 댓글과 트랙백 삭제, 스팸 금지어 검사에 의한 삭제등 단순한 몇가지 기능을 모아놓은 안티스팸 플러그인입니다.
  • 간단한 구조로 되어 있고, 다른 서버와의 통신을 하지 않아 전반적으로 작동이 빠릅니다.

3. 다운로드

다운로드

사용시 문제점은 제게 리포팅 해주시기 바랍니다.
리포팅을 통해 더 많은 정보가 모이면 더 완벽한 차단이 가능합니다.

.htaccess 를 이용한 불필요한 리퍼러 차단 방법과 같이 사용하면 좋습니다.

4. 버전 기록

0.46
– 2009.01.30
– 필터 패턴 추가

0.45
– 2008.10.20
– 트랙백 체크 기능 일부 오류 수정
– 필터 패턴 추가

0.44
– 2008.10.10
– 필터 패턴 추가

0.43
– 2008.09.10
– 필터 패턴 추가

0.42
– 2008.08.24
– 필터 패턴 추가

0.41
– 2008.08.21
– 공백이나 특수문자로 띄어쓰기를 한 스팸패턴 처리

0.40
– 2008.07.23
– 플러그인 설정 기능 추가
– 연속된 트랙백 삭제 기능 추가
– 제목,본문, 홈페이지등에 반복된 내용을 썼을 경우 스팸으로 처리하는 기능 추가
– 홈페이지 입력이 없으면 휴지통으로 보내는 기능 추가

0.34 베타
– 최근 유행하는 광고 패턴 10여가지 추가

0.33 베타
– 2008.05.23
– 패턴 추가
– 15일내에 같은 댓글 내용이 있을 경우 스팸으로 처리

0.31 베타
– 2008.05.09
– 첫 공개 릴리즈

5. 라이센스 정책

완전한 자유입니다. 마음대로 지지고 볶고 개량해서 사용하십시오.

이 플러그인은 휴지통에 버려진 댓글도 참고하기 때문에, 스팸댓글을 휴지통에서 지워버리지 않으시는게 좋습니다.
주의 : EAS나 EAS Plus와 같이 쓰기 위해서는 다음 글을 참고해주십시오.
http://draco.pe.kr/entry/Draco-Anti-Spam-과-EAS-같이-쓰기

메뉴로 비교해본 텍스트큐브닷컴, 기타 소감

텍스트큐브 1.7 티스토리(2008-06-26) 텍스트큐브닷컴(2008-06-26)
센터- 알림판 (커스터마이징 가능) 센터- 알림판 (기본기능은 비슷하나 고정됨) 센터- 알림판 (간단한 정보는 옆으로 옮겨가고, 추천포스트 기능강화)
센터 통계(블로그,방문자,리퍼러,검색어) – 플러그인을 켜면 작동 동일, 단 플러그인 메뉴에 있음 동일, 센터 통계메뉴 아래에 통합
글 – 글쓰기 (기능은 적지만 다소 산만함. 플러그인으로 강화가능) 글 – 글쓰기 (텍스트큐브와 비슷하나, 동일기능이 중복적으로 있고 산만함) 글 – 글쓰기 (단순하고 깔끔함)
글 – 글목록 (동일) 글 – 글목록 (동일) 글 – 글목록 (동일)
글 – 분류관리 글 – 카테고리 글 – 분류관리 (좀더 단순해짐)
소통 (댓글,방명록,댓글 알리미,걸린글,건글,휴지통) 댓글/트랙백 (댓글,댓글알리미,트랙백,스팸필터,휴지통) 커뮤니케이션 (받은커뮤니케이션-전체보기,댓글,방명록글,트랙백; 보낸커뮤니케이션; 휴지통) 갑자기 3단계 메뉴로 다소 복잡
네트워크 – 필진목록(팀블로그 기능) 환경설정 – 팀블로그 네트워크 – 팀블로그
네트워크 – 링크 링크 (1단계 메뉴로 존재) 네트워크 – 링크
관심블로그 기능 없음 관심블로그 기능 없음 네트워크-관심블로그/관심블로그 알리미
초대하기 기능 없음 초대하기 (1단계 메뉴) 네트워크 – 초대하기
꾸미기 – 스킨선택 / 스킨편집 / 스킨 상세설정 / 위젯 / 관리 패널 스킨 선택 (가장 기능이 다양하고 자유로운 커스터마이징 가능) 스킨 – 스킨선택 / 직접올리기 / HTML CSS편집 / 사이드바 설정 (텍스트큐브와 거의 비슷) 꾸미기 – 스킨선택(스킨 5개뿐) / 스킨설정(준비중) / 스킨위자드(준비중) / 위젯
플러그인 – 플러그인 목록 / 플러그인 데이터관리 / 플러그인 설정관리 (자신이 원하는 플러그인 추가 가능) 플러그인 – 플러그인 목록 (플러그인은 다양하나, 제공된것만 사용) 플러그인 없음. 혼동을 방지하기 위해 위젯과 환경설정에 나눠서 통합해버린듯.
설정 – 블로그 / 글작성 / 개인정보 / 스팸 필터 / 데이터관리 (기능이 가장 많지만, 복잡) 환경설정 – 기본설정 / 화면설정 / 팀블로그 / 데이터 관리 / 기타설정 / 블로그 폐쇄 (메뉴 구분은 다소 애매하지만 기본적인 기능은 텍스트큐브와 비슷) 환경설정 – 블로그 / 글작성 / 필터 / 데이터관리 (좀더 단순화되고, 플러그인에서 제공되었던 마우스 차단, 라이트박스 기능등이 포함됨)
설정 – 스팸필터 댓글 /트랙백 – 스팸필터 환경설정 – 필터 (필터링 방법은 비슷하나, 영어환자 기능과 자동승인 기능 추가됨)

표를 만들고 보니 무진장 복잡해졌는데….요약하자면  텍스트큐브닷컴의 특징은

  1. 메뉴와 인터페이스를 상당히 단순화시키고 알아보기 쉽게 만들어놨다.
  2. 관심블로그 기능이 추가되어 있다. 그 자체 기능은 아직 업데이트 알리미와 링크 정도.
  3. 스킨이 아직 5개뿐이고, 스킨편집도 아직 안된다. (가장 시급할듯.)
  4. 플러그인이라는 개념을 없애버리고, 기능은 위젯과 환경설정으로 분산해놨다.

정도가 되겠습니다.

복잡하고 어려워보이는 설치형 텍스트큐브나, 그에 비슷한 구조의 티스토리를 최대한 간단화 시키면서도 기능은 유지하려 노력한 모습이 보입니다. 하지만 용어정리상의 문제는 여전하네요. 글목록에서는 ‘글 보내기’인것이 커뮤니 케이션에서는 ‘트랙백’으로 되어 있고, 커뮤니케이션에서는 ‘댓글’인 것이 환경설정이나 글목록에서는 ‘의견’으로 사용됩니다.

베타버전이라서겠지만 아직 안되는게 많아서 문제입니다.  매뉴얼 글 몇개빼고는 다른 도움말 기능이 아직 작동하지 않습니다. 스킨편집이 가장 시급한데, 덕분에 에드센스도 스킨수준에서는 붙일수 없습니다. 가입할때 선택했던 베이스캠프 스킨이, 막상 접속해보면 적용이 안되고 기본스킨으로 작동되는 버그도 보입니다.

블로그 관리적인 정책이 강화된 느낌입니다. 우선 RSS배포의 기본값이 ‘부분공개’입니다. Copy Angel인지 뭔지 하는 기능이 기본적으로 켜져 있고(복사할때 뭔가 작동하게 하는 기능일까요?), 마우스 오른쪽 버튼 제한기능(이건 티스토리에도 있지만)도 선택이 가능하게 되어 있습니다. 의견과 방명록등의 댓글에서, 기본값이 관리자가 승인후 보여지게 하도록 되어 있기도 합니다. 기본값들을 ‘강하게’설정한다는 것은 그만큼 기존 ‘티스토리’에서 해당부분에 대해 고생을 했거나, 유저들이 원했다고 볼수 있겠지요.

여기까지 볼때, 텍스트큐브닷컴은 티스토리의 운영 노하우를 확실히 반영한 서비스라 볼수 있겠습니다. 다만, 지금의 ‘관심 블로그’만으로 기능적인 차별화가 가능할지는 아직 의문이네요.

ps.
스킨 추가와 ‘밝고 예쁜 관리자 스킨’이 필요하지 않을까 싶습니다. 지금의 관리자 화면은 단정하긴 하지만 다소 우중충하네요.

ps.
텍스큐큐브의 ‘소통’이 텍스트큐브닷컴의 ‘커뮤니케이션’보다 더 좋은 메뉴명이 아닐까 싶습니다.

ps.
sidebar element 라는 개발자적인 네이밍 센스의 위젯….을 꺼버린 블로그는 ‘관심블로그’로 등록하고 싶어도 어디서 해야 할지 막막한 문제가…

한글번역스팸 자료, 제 근황.

어제 밤 (5월 23일 금요일 새벽)에 한글 번역기와 연동된 스팸 댓글이 재공격해왔습니다.

제 안티스팸 플러그인은 1600개정도의 스팸중 1200개를 막아냈더군요. 기특하긴 하지만 아직 멀었습니다.

스팸댓글의 자료를 동봉합니다. 혹시 관련 자료가 필요하신 분들은 참고하세요. 포맷은 오픈 도큐먼트 스프레드쉬트(.ods)입니다.
2071618614.ods
——————-

위에서 뽑은 패턴을 정리해서 제 안티스팸 플러그인을 업데이트 했습니다.
http://draco.pe.kr/entry/Draco-Anti-Spam-plugin-Beta-Testing

——————

우분투 8.04 Hardy Heron LTS로 업그레이드 했습니다. 약간의 삽질자잘한 문제점들이 있군요. 별로 시간은 소모하지 않아서 다행입니다.

—————–

최근에 손가락 마디가 많이 뻐근해졌습니다. 자세히 살펴보니 키보드가 많이 뻑뻑해진걸 무시하고 쓰는 바람에, 힘이 약한 4번째와 5번째 손가락으로 키를 안치고 3손가락으로 누르는 버릇이 생겼더군요. 안좋은 버릇이 생겨서 자꾸 자세가 흐트러지다보니 손가락도 피곤하고 오타도 늘어나는 것이었습니다.

해결방법은 키보드 바꾸고 교정 연습을 하는 수밖에 없겠죠.

텍스트큐브 Draco 방문자목록 플러그인

1. 소개

현재까지 방문해서 댓글이나 방명록을 남긴 사람들의 리스트를 연도별로 정리해서 커버페이지에 표시해줍니다.

2. 특징

별거 없습니다….;; 커버페이지 안쓰시는 분들에게, 방문하신 분들을 기억해보는 장소로 활용하시라고 만들었습니다.

3. 미리보기

http://draco.pe.kr/cover

4. 다운로드

다운로드

최신버전은 1.01 입니다.

1.01 – 2008. 04. 08 – 블로그 주인의 아이디를 판독하는 루틴이 빠진것을 종횡무진님의 리포트로 발견. 추가완료.
1.00 – 2008. 04. 05 – guest_list.php에서 최초버전 컨버전.

본문이 비어있는 스팸 트랙백을 차단해버리기

오늘 무슨 날이군요. 알파벳으로만 되어 있는 영문 트랙백이 잔뜩 달렸습니다. 이상한 점은, 제가 영어중환자 플러그인을 설치하고 있었거든요. 그런데도 트랙백이 걸리더란 말입니다.

그래서 보니, 통과된 스팸 트랙백은 “본문이 없고 제목만 있다”는 점을 발견했습니다.
영어중환자 플러그인을 보니 이렇게 되어 있더군요.

function EnglishPatient_AddingTrackback($target, $mother) {
    return !preg_match('/^[\x{00}-\x{7F}]+$/u', $mother['excerpt']);
}

붉은 글자 부분이 패턴(정규식)입니다. 즉, 트랙백의 본문글에서 전부 영문인지 체크해서, True가 되면 전부 영어니까, 그걸 !로 뒤집어서 반환하는 것입니다. 알고리즘은 훌륭하지만 비어있으면 False로 처리되니까 !로 뒤집혀서 True. 트랙백이 통과되어 버리는 단점이 있죠.

제 취향대로 고쳐버렸습니다.

function EnglishPatient_AddingTrackback($target, $mother) {
    return preg_match('/[xA1-xFE][xA1-xFE]/', $mother['excerpt']);
}

preg_match 앞에 !를 떼어버리고, 정규식을 한글이 들어있는지 체크하는걸로 바꿨습니다.

이걸로 해결될려나요.

ps.

휴지통에 들어간 스팸 트랙백수. 계속 증가중…

ps.

좀더 정교한 한글 매칭 정규식
/[x{1100}-x{11ff}x{3130}-x{318f}x{ac00}-x{d7af}]+/u
다만 유니코드에서만 적용됨.

리퍼러기록을 보면 페이지를 이동시켜버리는 리퍼러 스팸

최근 블로그툴의 “리퍼러 기록”을 보면 자동으로 광고페이지로 이동시켜 버리는 리퍼러 스팸이 활동하고 있습니다.


리퍼러 로그 페이지를 보면, 저렇게 깨지는 화면이 나옵니다.


그 다음 순간 약장사 페이지로 이동됩니다.

원리를 보자면, 리퍼러주소에 iframe 태그를 삽입하는 방법을 씁니다.


해당 스팸의 리퍼러 기록

예를 들어 저 광고의 경우

http://스팸광고사이트/search/results.html?query=Buy%20viagra%20for%20lowest%20prices
%20Buy%20viagra%20Online%20Now%20%3CIFRAME%20src%3D%2F%2Fmy-dom.info%2Fm.php
%3E&search.x=34&search.y=10&search=search

그림과 같이 리퍼러 주소가 마치 ‘검색엔진을 통해 검색해서 들어온것’처럼 구조가 꾸며져 있고, 검색어 부분에 iframe태그를 삽입해 놓았습니다. 그래서 리퍼러로그정리(RefererURLBeautifier) 플러그인 같은것으로 검색어를 표시하는 플러그인을 쓸경우 iframe에 삽입된 자바스크립트에 의해 리다이렉션을 당하게 됩니다.

해결법

RefererURLBeautifier 플러그인을 1.04이상으로 업데이트 합니다. 링크 1.04에서는 htmlspecialchars()함수로 키워드를 변환시켜서 iframe태그가 사실상 무력화 됩니다.

만약 버전업을 하지 못할 이유가 있거나 더 확실히 하고 싶다면 RefererURLBeautifier 플러그인의 index.php 파일을 열어

return ($keyword) ? ‘<span style=”font-weight: bold; color: #594″>[‘.$keyword.’]</span> ‘ . UTF8::lessenAsEm($url, 70 – UTF8::lengthAsEm($keyword)) : UTF8::lessenAsEm($url, 70);

위와 같은 return 이 이루어지는 바로 위에 strip_tags()함수로 html을 제거해줍니다.

$keyword = strip_tags($keyword);
return ($keyword) ? ‘<span style=”font-weight: bold; color:
#594″>[‘.$keyword.’]</span> ‘ . UTF8::lessenAsEm($url, 70 –
UTF8::lengthAsEm($keyword)) : UTF8::lessenAsEm($url, 70);

ps.
“리퍼러 기록”뿐 아니라 “키워드 통계”에서도 리다이렉션이 작동합니다.
이것도 응급조치로 refererkeyword 플러그인의 index.php를 열어서 147줄에       

document.write(unescape(“<?php echo $keywordkey;?>”));

document.write(unescape(“<?php $keywordkey = strip_tags($keywordkey); echo $keywordkey;?>”));

로 고쳐주면 해결됩니다.

추가

텍스트큐브용 공식 패치가 발표되었습니다.