메뉴 건너뛰기

MH

내 사랑치 않고 끝내는 것 보다 사랑해서 잃어 버리는 편이 좋다.

It is better to have loved and lost than to have never loved at all.

조회 수 3075 추천 수 0 댓글 0
Extra Form
원작자 꿈섬
출처 http://www.xpressengine.com/tip/22279567
적용여부 적용

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

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

개인적으로 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"); 

Who's 팔공산

profile

이 世上에서 現在가 가장 중요한 時間이며,
내가 만나고 있는 바로 그 사람이 第一 중요한 사람이며,
同時에 가장 중요한 것은 그 사람에게 善으로서 行하는 것이다.

    댓글이 하나도 없네요ㅠㅠ
    Tip이 도움이 되었다면 댓글과 평가 부탁합니다. Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다.
?

List of Articles
번호 분류 제목 원작자 날짜 조회 수 적용여부
116 Xe 로그인 ID를 이메일에서 아이디로 변경하는 방법 file 불금 2018.01.13 96
115 Xe "이 페이지 나가기" 경고창이 뜨는 사이트의 경우 투씨 2017.02.09 343
114 Xe xe업데이트 후 member모듈 업데이크가 되지 않을때 file 고니고니 2017.02.03 108
113 Xe XE첨부파일중에 확장자뒤에 -x 붙는 부분 해결하기 DNAVI 2016.11.19 138 적용
112 Xe 게시판 상단 html입력 가능부분에서 글씨를 클릭하면 슬라이딩으로 내용이 나오게 할수있을까요...? 콩까기 2014.06.08 2911
111 Xe 썸네일 특정 파일로 불러오기 file Lansi 2014.01.28 2655 NO
» Xe 나름 강력할 것 같은 스팸방지 팁 꿈섬 2013.08.23 3075 적용
109 Xe 이미 입력되어 있는 트랙백 엮인글 한번에 삭제하고 카운트 0 으로 세팅하기(초보자용)(추가) 푸시아 2013.06.10 5284
108 Xe 화일첨부 디렉토리의 빈 폴더 삭제... file 카르마 2012.01.21 3287 적용
107 Xe shopXE 에서 배송지 주소 입력 팝업으로 띄우기 file 엄머네과일가계 2011.10.29 3471
106 Xe 내용글 출력시 주소창에 짧은주소(rewrite mod) 출력되게 하기 file 웹 엔진 2011.08.06 6973 적용
105 Xe SCM 플레이어 사용법 file misol 2011.02.22 6496
104 Xe XE 1.4.4.2버전 이후에 짧은주소(rewrite mod) 사용시 아이콘 사리지는 문제점 file 파이델 2011.02.12 5063 적용
103 Xe 게시글 확장변수 순으로 정렬하기 2 file June Oh 2010.08.28 9300
102 Xe 게시판 본문페이지 닉네임 옆에 회원그룹명 사용 1 늘푸른이 2010.08.13 7638
101 Xe 새글/비밀글/업데이트/이미지/동영상/첨부파일 아이콘 제어하기 file 똑디 2010.08.08 4378 NO
100 Xe 회원 정보 및 회원 리스트에 회원 성별 앞에 아이콘 넣기 file 늘푸른이 2010.08.07 3641 NO
99 Xe 회원가입폼 내멋대로 내맘대로 하기 3 file 지인짜 2010.08.05 10644
98 Xe 게시판에 글이나 댓글을 쓸때 글자수 제한하는 방법 라르게덴 2010.08.02 3792
97 Xe 언제부터인가 쪽지함의 내용글이 잘 보이질 않는다. 감로수 2010.03.14 3550
목록
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6

위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...