그누보드 오류를 잡아주실 정규식에 능한분을 찾습니다.
본문
그누보드에는 현재 심각한 문제가 하나 있습니다.
다름아닌 에디터로 업로드한 이미지 파일이 서버에서 삭제되지 않고 남아있는 점입니다.
따라서 에디터에 포함된 이미지는 해당 글을 삭제하여도 지워지지 않아 서버 용량을 잡아먹는 주범 중 하나입니다.
(운영하시는 사이트가 있으시다면 에디터로 이미지를 첨부하신 후 삭제해보시고 서버에서 지워지는지 확인해보시기 바랍니다.(삭제되지 않고 남아있습니다.))
버그 내용은 아래와 같습니다.
=====================
에디터로 등록한 이미지 파일(썸네일 포함)이 글 삭제시 삭제되지 않고 서버에 그대로 남아 용량을 차지하고 있는것으로 파악됩니다.
bbs/delete.php > delete_editor_thumbnail 함수 실행 >
delete_editor_thumbnail 함수 부분에서
$filename = preg_replace("/\.[^\.]+$/i", "", basename($srcfile));
로 필터링한 순수 파일명이 제대로 필터링 되지 않고 있습니다. 이유는 img 태그에 src 속성 이외에 title 속성까지 포함하여 필터링하였기 때문입니다.
따라서, get_editor_image 함수에서 img 태그를 걸러올 때 src 부분만 걸러오거나
위 필터링 부분에서 title 속성을 포함하지 않은 src속성값만 필터링 해야 할 것으로 보입니다.
추가질문 (※제대로 수정된다고 하여도 썸네일 외에 원본 사진을 지우는 코드가 없는 것 같은데 일부러 안넣은 것인지 코드가 잘못된 것인지 궁금합니다.)
============================================================
현재 sir.kr에서는 바쁜관계로 이 문제를 바로 수정하지 못하는 상황입니다.
이를 해결하기 위해서는 정규식 지식이 좀 필요해보입니다.
이를 해결하실 수 있는 분이 계시다면 이곳에 답변을 달아주셨으면 좋겠습니다.
답변 4
아미나 빌더의 경우에는, 해당 기능이 구현되어 있습니다.
(관리자 > (아미나) 테마관리 > 기본 설정 > 에디터 이미지 삭제)
아미나 빌더의 소스를 참고해 볼 수 있을 듯 합니다.
https://sir.kr/g5_builder/3115
http://amina.co.kr/bbs/board.php?bo_table=apms
bbs/delete.php
// 에디터 이미지 삭제
apms_editor_image($row['wr_content']);
lib/apms.lib.php
// 에디터 이미지 삭제
function apms_editor_image($content, $mode='') {
sir 측에서 해주지 않는 문제라 조금 거시기 하네요...
천사별님은 앞도 뒤도 없이 필요하면 제작의뢰하라니 쩝..