웹마스터 팁

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

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

개인적으로 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"); 
제목 글쓴이 날짜
달력형 리스트 입니다. [5] file 착한악마 2009.07.01
지오피아 게임 제로보드 XE 연동 [5] file 다른사람 2009.06.30
확장변수에 회원정보를 넣어보자 [10] file 개돌 2009.06.30
이미지 리사이즈 적용이 안되는 경우 [4] 아고라 2009.06.30
로그인 & 파일 첨부 문제 [3] peter99 2009.06.29
페이지 제일 위로 바로가는 Top 버튼 [5] file 개돌 2009.06.26
보낸 쪽지함에서 쪽지 내용 안에 회원 아이콘이 제대로 표시 되지 않을때.. 절망린 2009.06.24
쪽지 답글 보내기 원본 내용 삭제 절망린 2009.06.24
로그인 후 그룹별로 다른 페이지로 가기 - 업데이트판 v1.5 [19] 무대포2 2009.06.24
개인쪽지발송!~ noirzo 2009.06.23
게시판 메뉴에 새글 알림 표시 띄우기 [13] file 보거스내친구 2009.06.21
확장변수 폼 디자인 하기 [14] file Diver 2009.06.21
XE용 query xml 방식으로 일반 테이블도 접근 처리 하기 [1] 라르게덴 2009.06.18
업데이트 후 Rewrite mod 사용이 안돼는 경우 [2] 겨우리851 2009.06.18
layout.html에 접근 못하게막기. [8] Habile 2009.06.15
에디터 컴포넌트 목록이 안 나올 때 해결법 [2] SMaker 2009.06.14
외부문서에서 mms:// 태그 사용하기 [11] 아고라 2009.06.12
로그인 페이지 만드는 방법 [5] 산토 2009.06.12
게시판 스킨에서 조회수, 추천수, 최근 수정일 외 항목도 정렬가능하게 하기 SMaker 2009.06.11
확장변수값 이미지로 대체하여 나타내기 (실시간 응대목적) [12] file sm3 2009.06.10