SPAM과의 전쟁

Personal Computer/misc 2006. 6. 13. 19:10 posted by tolkien
몇일전부터 comment 및 trackback에 SPAM bot에 의한 공격이 시작되었다.
trackback은 수작업으로 다 지웠고. T.T
댓글은 어찌할 수 없어서 DB를 직접 건드려야 했다. OTL
말끔히 지워지지 않아서

Justin님의 글에 있는 글을 참조해서 정리했다. 실제 table 내용 지우는 부분을 뺀 간결 버전


0. SPAM reply 제거. (table t3_###_10ofmg_reply)

1. 임시 reply count용 table 생성
CREATE TABLE
t3_###_10ofmg_tmp_cnt (
pno INT NOT NULL,
count INT NOT NULL
) TYPE = MYISAM;

2. 임시테이블에 다시 새롭게 포스트별로 댓글수를 카운트해서 집어넣기
INSERT INTO
t3_###_10ofmg_tmp_cnt
SELECT a.no AS no,
COUNT(b.pno) AS count
FROM t3_###_10ofmg AS a
LEFT JOIN
t3_###_10ofmg_reply AS b
ON a.no = b.pno
GROUP BY a.no
ORDER BY a.no ASC;

3. 본테이블에 새롭게 카운트된 코멘트 숫자를 업데이트.
UPDATE t3_###_10ofmg AS a,
t3_###_10ofmg_tmp_cnt AS b
SET a.rp_cnt = b.count
WHERE a.no = b.pno;