웹마스터 팁
나름 강력할 것 같은 스팸방지 팁
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 ();
댓글 16
-
큰성565
2013.08.23 13:50
-
socialskyo
2013.08.23 13:53
오오오옷..감사합니다.
-
KTK
2013.08.23 15:44
어떤 방식인지 궁금합니다 일단 적용해봐야겠네요 감사합니다!!!!!!!!
-
꿈섬
2013.08.23 17:11
아.. 글쓰기 단계(함수)에서 글 데이타베이스에 입력하기 전에 점검하는 것입니다.
홈페이지 글쓰기 폼을 이용하지 않은 글은 등록을 못하도록 막는 것이지요.
-
똑디
2013.08.23 16:19
추천 눌렀습니다. ^^
-
Root
2013.08.23 19:12
요즘봇들은 레퍼럴, POST 모두 조작해서 등록하더군요..;
-
꿈섬
2013.08.23 19:43
아.. 그런문제가 있네요.. ㅠ.. 그럼 세션값을 생성하고...세션확인해서 등록케 하면 되기도 할것 같네요..
그럼 괜찮을 라나..
-
쿨럭이
2013.08.23 21:18
햐~ 그래도 일단 수정해놔봐야겠네용 ㅎㅎ 감사합니다~
-
컴퓨터매니아
2013.08.24 05:24
좋은 정보 감사합니다. 그러나
==============================
1. 요즘 봇들은 HTTP_REFERER나 REQUEST_METHOD는 조작해서 들어오는 걸로 알고 있습니다. 비주얼베이직을 이용해도 쉽게 조작 가능
2. 그래서 변수를 하나 더 만들고 남이 모르는 값을 넣은 뒤 처리하는 것이 좋을 것 같습니다.
-
컴퓨터매니아
2013.08.24 07:22
그래도 감사합니다.^^
-
꿈섬
2013.08.24 08:10
php를 조금 알면 변수 만드는 것은 어렵지 않으니.... 그렇게 해결하면 될 것 같네요...
그 변수를 세션에 넣었다가 세션값여부만 확인하고 글을 등록시키면 ....
-
컴퓨터매니아
2013.08.24 09:02
전 php를 몰라서요ㅠㅠ
-
라르게덴
2013.08.24 12:50
제가 변수만들어서 사용했었어요...참고하세요.
http://www.xpressengine.com/19069968
-
꿈섬
2013.08.24 15:00
좋은 방법인 것 같네요.. 가변 변수를 만들어서.. 하는거 맞죠?
-
플플
2013.09.12 15:59
팁 감사합니다! 스팸아웃!
-
오락실주인
2013.09.13 16:48
이거 적용하면 관리자도 적용되나요 ?
좋은 팁 감사합니다! ㅎㅎ^^