웹마스터 팁

요즘 스팸때문에 고민인 분들이 종종 보이네요.

회원만 글쓰기 하면 뭐 문제 없겠지만, 비원글쓰기 인경우 스팸테러의 우려가 있지요.

개인적으로 captcha 방식은 싫어해서.. 다른 방법을 생각해 봤구요..


소스 수정입니다.


1. 회원 자동가입방지

/modules/member/member.controller.php 

이 파일을 에디터로 엽니다.

procMemberInsert()이 함수를 찾기 기능으로 찾습니다.

빨간 글쓰 부분 추가 하면 됩니다. 

이것은 referer 확인해서외부에서 파싱하는 것을 막아 줍니다.


        function procMemberInsert() {

            if (Context::getRequestMethod () == "GET") return new Object (-1, "msg_invalid_request");

          if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])) return new Object (-1, "msg_invalid_request"); 

           $oMemberModel = &getModel ('member');

            $config = $oMemberModel->getMemberConfig ();


2. 자동 글쓰기 코멘트쓰기 방지
/modules/board/board.controller.php
이 파일을 열어서
procBoardInsertDocument() 와     function procBoardInsertComment()함수를 찾아서 똑 같이 해줍니다.
      


 function procBoardInsertDocument() {
            // 권한 체크
if($this->module_info->module != "board") return new Object(-1, "msg_invalid_request");
           if (Context::getRequestMethod () == "GET") return new Object (-1, "msg_invalid_request");
            if(!$this->grant->write_document) return new Object(-1, 'msg_not_permitted');
            if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])) return new Object (-1, "msg_invalid_request"); 
========================================================================================================================
        function procBoardInsertComment() {
            // 권한 체크
            
            if (Context::getRequestMethod () == "GET") return new Object (-1, "msg_invalid_request");
            if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])) return new Object (-1, "msg_invalid_request"); 
            if(!$this->grant->write_comment) return new Object(-1, 'msg_not_permitted');
            $logged_info = Context::get('logged_info');

=======================================================================================================================
php. 5.3.0이상의경우는 빨간부분 추가해야 합니다.
    if(!strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'],true)) return new Object (-1, "msg_invalid_request"); 
제목 글쓴이 날짜
1.2.2 업데이트 이후 위젯이 출력안되시는 분들 [1] [1] 반도체맨 2009.05.01
위지윅 에디터의 관리의 활성 비활성이 안될 경우 해결책 [2] 김유중345 2009.05.01
1.2.2 XE에디터에서 글쓸때 <p> <br> 자동 변환 단축키 [14] 샤릉해 2009.05.02
게시판 스킨에서 확장 변수에 값이 없을 경우 해당 항목 표시하지 않기 [6] SMaker 2009.05.04
그룹아이콘이 표시 될 때, 레벨 아이콘 표시 안하기 [2] Hide_D 2009.05.08
XpressEngine 1.2.2용 배경음악 틀 [4] 마빈박사359 2009.05.10
XE에 맞춤법 검사기를 링크해보자! [2] 개돌 2009.05.14
내가 작성 한 글에 대한 일괄 삭제/이동/복사 권한 주기 [2] file 개돌 2009.05.15
까페 아이디 삭제후 동일 아이디로 생성하는 방법 키스메리 2009.05.15
게시판에서 헤더와 풋부분을 붙이면 이미지 출력이 되지 않아요.. [2] 율이★ 2009.05.19
맞춤형 검색창 만들기 [9] thejeon 2009.05.19
스프링노트 연동문제 [2] nonoboy 2009.05.21
별도 페이지 로그인방법 cornet 2009.05.21
에디터에 관리자멘트 넣기 [총정리] [17] file 된장맛껌 2009.05.23
[허접팁] 파일첨부가 안됩니다 [1] 클럽다이 2009.05.23
BGM 쓰시는분 게시판 에서 첨부파일 다운받을때 끊어지시죠?ㅎㅎ [4] 우리아기 2009.05.23
BGM 가로스크롤바 없애는 방법.. 청개굴이 2009.06.03
회원가입시 닉네임 특수문자 제한하기 [10] 절망린 2009.06.06
관리자모드에서 메뉴 항상 펼치기 [1] file 아드레날린 2009.06.09
확장변수값 이미지로 대체하여 나타내기 (실시간 응대목적) [12] file sm3 2009.06.10