웹마스터 팁

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

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

개인적으로 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"); 
제목 글쓴이 날짜
XP + IE8 에서 갑자기 페이지 오류메시지가 뜰 경우 [1] file 다크진 2013.09.14
XE + dokuwiki 도쿠위키 세션 연동시 파일 올리기 해결방법 [1] uotalkie 2013.06.25
스케치북 게시판 목록 홀수 줄 에만 배경지정 [3] socialskyo 2013.09.14
여러장의 이미지 동시 삽입시 이미지 간격조정 팁 [3] 꿈섬 2013.08.10
웹에서 직접 zip파일 압축백업,압축풀기-호스팅 사용자님들 편한 툴입니다. [1] file ranson 2009.09.12
나름 강력할 것 같은 스팸방지 팁 [16] 꿈섬 2013.08.23
기본게시판에서 익명 선택하여 "게시글, 댓글" 작성이 가능하도록 세팅하기(sketchbook5 기준) [15] Ashon 2013.01.08
계정 정지된 회원에게 정지 사유 표시하기. [24] file 컴퓨터매니아 2013.08.24
게시글 추천 아이피 가져오기 file Stellar 2013.09.12
로그인풀림방지 - 자동 www 붙이는 다른 방법 [23] RainSky 2008.03.28
외부페이지에서 로그인 폼 구현하기 컴퓨터매니아 2013.09.09
[주옥시리즈] 배너 클릭시 포인트지급 모듈, Portal XE [1] socialskyo 2013.09.09
[주옥시리즈]댓글 작성, 추천후 다운로드 받을수 있게 하기. socialskyo 2013.09.09
[주옥시리즈]글 목록을 조회수 별로 색상 지정하기 socialskyo 2013.09.09
[주옥시리즈]댓글 작성, 추천후 다운로드 받을수 있게 하기. socialskyo 2013.09.09
[주옥 시리즈]지식인XE 모바일에서도 답변보기 socialskyo 2013.09.08
[주옥시리즈] 타이틀 제어 애드온 socialskyo 2013.09.09
내가 작성한 글 에서 해당 글의 댓글 수 출력하는 방법 [1] sejin7940 2013.09.03
(글) 알림 옵션 기본 체크 [27] Simulz 2007.10.10
링크새창띄우기(target=_blank) - str_replace이용법 [11] 인터니즈2 2011.09.03