웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
나름 강력할 것 같은 스팸방지 팁
2013.08.23 13:08
요즘 스팸때문에 고민인 분들이 종종 보이네요.
회원만 글쓰기 하면 뭐 문제 없겠지만, 비원글쓰기 인경우 스팸테러의 우려가 있지요.
개인적으로 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");
댓글 16
제목 | 글쓴이 | 날짜 |
---|---|---|
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] | 개돌 | 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] | 된장맛껌 | 2009.05.23 |
[허접팁] 파일첨부가 안됩니다 [1] | 클럽다이 | 2009.05.23 |
BGM 쓰시는분 게시판 에서 첨부파일 다운받을때 끊어지시죠?ㅎㅎ [4] | 우리아기 | 2009.05.23 |
BGM 가로스크롤바 없애는 방법.. | 청개굴이 | 2009.06.03 |
회원가입시 닉네임 특수문자 제한하기 [10] | 절망린 | 2009.06.06 |
관리자모드에서 메뉴 항상 펼치기 [1] | 아드레날린 | 2009.06.09 |
확장변수값 이미지로 대체하여 나타내기 (실시간 응대목적) [12] | sm3 | 2009.06.10 |