포럼

안녕하세요. XE 를 예전부터 많이 사용해 온 사람입니다. 너무 프레임워크에 의존하는 것보다, 제가 XE 같은 CMS 를 직접 만들어보면 어떨까 하고 
Node.js 로 만들기 시작한 지 한 3주 정도 흘렀네요. XE 처럼 모듈식으로 게시판, 페이지, 회원 등 핵심적인 것만 간단하게 만들었습니다. 이제 샘플 홈페이지만 만들어 놓으면 되는데요 - 궁금한 것이 있습니다. 

XE 에서 각종 HTTP 요청들 있잖아요. GET 요청은 크게 상관 없겠고, POST, DELETE, PUT 등 요청을 받을 때 보안을 어떻게 하는지 궁금합니다. 예를 들어서 특정 게시판을 삭제하는 DELETE 요청이 있다고 해 봅시다. 정상적이라면 admin 화면에서 게시판을 삭제해아 하지만, 알다시피 외부에서도 얼마든지 DELETE 요청을 보낼 수 있습니다. 파이썬이든, 자바든 활용해서 말이죠. 

/admin/delete/board 라는 주소로 특정 게시판 mid 값을 데이터로해서 DELETE 요청을 보내면, 게시판을 삭제하게 된다고 쳐 봅시다. 
외부에서의 요청을 막기 위해 어떤 식으로 코드를 짜야할까요? 예를 들어서 지금 제 게시판 삭제 코드는 클라이언트에서 이렇게 되어 있습니다. 

 

$('.btn-delete').click(function(){
    var confirm = prompt('게시판을 삭제하면 연결된 모든 게시물, 댓글, 첨부파일이 같이 삭제됩니다. 삭제하려는 게시판의 mid 값을 입력해 주세요.');
    if (confirm == $(this).attr('id')) {
        $.ajax({
            url: location.href+"/delete/"+$(this).attr('id'),
            type: "DELETE",
            success: function (data) {
                if (data) {
                    alert(data);
                    location.reload();
                }
            }
        });
    } else {
        alert('게시판의 mid 값이 일치하지 않습니다.');
        return false;
    }
})

 

게시판 mid 값을 입력해야 삭제하는 것은 뭐 그냥 일련의 실수 방지책이고, 어쨌든간에 저 주소로 delete 요청만 보내면 게시판이 삭제될 것 같습니다. 게시판이 삭제되면 연결된 문서, 댓글, 자료 모두 삭제될텐데. 이 경우 서버 쪽에서 보안을 어떻게 해야할까요? 제가 생각하기엔 요청을 보낸 아이디를 검증해야 할 것 같은데, req.user.id == 'admin' ? 이런 식으로 해서 조건에 부합하지 않으면 처리하지 않는 것이 방법인가요? 모든 라우터에 이런 식으로 처리를 해야하나요? XE 는 오래되어서 보안도 그만큼 철저할 것 같은데, 어차피 PHP 로 개발하든 Node.js 로 개발하든 기본적인 구조는 같을 것 같습니다. XE 는 어떤식으로 이런 외부 HTTP 요청을 방지할까요? 

 

글쓴이 제목 최종 글
정찬명 재미로 보는 한국 오픈소스 커뮤니티 자유게시판. [12] file 2011.05.17 by 정찬명
토비코비 개발자님께... XE사용시 에러에 관하여... [9] 2011.05.18 by NetCabin
정찬명 사용자포럼에 대한 제안을 수정해 볼께요. [6] 2020.03.14 by guny
sejin7940 XE 내부의 xml 은 서브쿼리가 아직 지원이 안 되나요? [1] 2020.03.14 by BNU
라마야나 1.4.5.7 업데이트 후 로그인이 전혀 되지 않습니다. [2] 2011.05.20 by 카르마
ForHanbi class="active"|cond... 와 다른 클라스명 추가 불능...  
앙까? 애드온 처리와 트리거 처리의 문제점 검토 [1] 2011.05.20 by 銀童
銀童 XE 개발팀의 공지가 좀더 눈높이를 맞춰서 나갔으면 좋겠습니다. [5] 2020.03.14 by BNU
銀童 코드 공헌은 어떤 기준으로 처리되나요? [1] 2011.05.21 by 라르게덴
앙까? 짧은주소의경우 애드온의 before_module_init에서 document_srl을 어떻게 얻을 수 있나요? [2] 2011.05.21 by 앙까?
백성찬 애플계열(아이팟, 아이폰, 아이패드) 가지고 사용하고 제 사이트의 회원이신 분 파일첨부 테스트 부탁합니다. [1] 2011.05.21 by 나아아짱
철갑 XE가이드는 모듈제작 매뉴얼이 없는게 아쉽네요 [7] 2011.05.21 by 나다인가나
Hammer 5월 28일 토요일, 디자인 관심있는 분들께 [7] 2011.05.22 by Hammer
bradly1 안녕하세요.. 게시판 관리자 Bradly1 인사드립니다.. [3] 2011.05.22 by misol
銀童 template override 개념 제안. [5] 2011.05.23 by 앙까?
ForHanbi 마이페이지 배경이미지와 텍스트 중첩  
철갑 코딩하다가 오류가 날 때 오류 지점을 정확히 볼수있는 방법은 없을까요. [2] 2011.05.23 by 난다날아
백성찬 다국어 검색 - 글로벌에 신경 쓴다니 꼭 반영해야 될 것입니다. [6] 2020.03.14 by 라르게덴
hhgyu 킴스큐Rb 표준 코딩규칙 [8] 2020.03.14 by 銀童
아아악내눈 textyle 에도 이게 필요합니다. [3] file 2011.05.24 by 아아악내눈