[코딩 뽀시래기] 그누보드4에서 게시판에 글 작성시 query문을 실행하고싶습니다.

[코딩 뽀시래기] 그누보드4에서 게시판에 글 작성시 query문을 실행하고싶습니다.

QA

[코딩 뽀시래기] 그누보드4에서 게시판에 글 작성시 query문을 실행하고싶습니다.

본문

안녕하세요 ^^ 
 

그누보드4 페이지를 관리하고있는데

게시판에 작성되는 악성 스팸글 때문에 고민입니다 ㅠㅠ

현재 HeidiSQL을 통해서 db의 정보들을 관리하고있는데 

스팸으로 등록되는 글들을 지울 때 


DELETE g4_write_consul, g4_board_new FROM g4_write_consul LEFT JOIN g4_board_new ON g4_write_consul.wr_id = g4_board_new.wr_id WHERE g4_write_consul.wr_option = 'html1';

해당 코드를 입력해서 정보를 삭제합니다. ㅠㅠ

 

그런데 이 작업을 사람이 직접 해야하는데 게시판에 글이 작성된 다음 몇 시간이나 지나서 스팸인 것을 확인하고 직접 지우는 과정이 너무 번거로운 것 같아서요

 

제 생각에는 사용자가 해당 게시판에 글을 입력하고 글 등록 버튼을 누르면 update과정에서 해당 쿼리문을 실행하면 될 것 같은데.. 이게 한창 사용중인 페이지라서 test해보기 꺼려져서 자문을 구하고 진행해보려고 합니다 ㅠㅠ 

 

*참고로 해당 코드는 1달정도 입력해서 스팸을 삭제해봤습니다. 다른 글들은 필터링 되지않고 스팸글들만 걸러지더군요 ;; 결과적으로는 스팸글만 걸러내서 좋지만 왜 스팸글만 걸리는지는 모르겠습니다..;;

 

고수님들의 조언 부탁드립니다!! ^^

이 질문에 댓글 쓰기 :

답변 1

g4_write_consul 테이블에 after trigger 걸어 버리세요

제가 db용어를 잘 몰라서.. 구글링을 해봤는데 sql 명령어를 깊이있게 알아듣지 못해서요 ;;;
혹시 괜찮으시다면 어떤 식으로 코드를 구성해야하는지 참고할만한 링크나 내용좀 알려주실 수 있으실까요?? ㅜㅜ

https://woo-dev.tistory.com/28

참조해보시면 되겠네요

아마 heideSQL 에서


DELIMITER //

CREATE TRIGGER g4_write_consul_spam_filter
AFTER INSERT ON g4_write_consul
BEGIN
    DELETE g4_write_consul, g4_board_new FROM g4_write_consul LEFT JOIN g4_board_new ON g4_write_consul.wr_id = g4_board_new.wr_id WHERE g4_write_consul.wr_option = 'html1';
END; //

DELIMITER ;



이런 코드를 실행하면 될겁니다.

그전에 trigger 에 대해서 좀 알아보셔야 할겁니다.

-- 아마 되겠지만  테스트 한게 아니니 공부좀 하시고 하세요

트리거 확인및 삭제는 https://islet4you.tistory.com/entry/Trigger-확인-및-삭제하기 참조하면 되겠네요

답변을 작성하시기 전에 로그인 해주세요.
전체 3,230
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT