웹마스터 팁
영문 스팸 방지
2013.09.16 15:04
하도 스팸이 많이 들어오고 있어서 꼼수를 좀 썼습니다.
일단 영문으로만 스팸이 들어오고 있어서 영문으로만 된 컨텐츠인지 확인하고 밀어내기 신공을 했습니다.
modules/board/board.controller.php 파일의 procBoardInsertDocument 함수를 수정했습니다.
일단 잠잠해져서 다행입니다만...
이글을 본 스패머가 또 뚫을려나요.. ^^;;
아래 빨간색 부분을 추가해 보세요. 저도 구글로 퍼서 한거여서 자세한 검증은 하지 않았습니다.
고수분들이 업그레이드를 해주시면 더욱 좋겠네요.
단점 : 영문 사이트를 운영중이신 분은 적용하시면 안되겠네요.
function procBoardInsertDocument() {
// check grant
if($this->module_info->module != "board") return new Object(-1, "msg_invalid_request");
if(!$this->grant->write_document) return new Object(-1, 'msg_not_permitted');
$logged_info = Context::get('logged_info');
// setup variables
$obj = Context::getRequestVars();
$obj->module_srl = $this->module_srl;
if($obj->is_notice!='Y'||!$this->grant->manager) $obj->is_notice = 'N';
$obj->commentStatus = $obj->comment_status;
settype($obj->title, "string");
//제목이 온리 영문인지 확인
if(!preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $obj->title)){
//$output = "error";
return ;
}
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
//setup dpcument title tp 'Untitled'
if($obj->title == '') $obj->title = 'Untitled';
// unset document style if the user is not the document manager
if(!$this->grant->manager) {
unset($obj->title_color);
unset($obj->title_bold);
}
...........
그럼 총총..
http://www.jquerykroea.pe.kr
댓글 13
-
푸시아
2013.09.16 22:12
-
컴매냐
2013.09.17 06:15
그럼 혹시 이런건 될까요?
//제목이 온리 영문인지 확인 if(!preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $obj->content)){ return $this->stop('msg_invalid_request'); }
-
푸시아
2013.09.17 06:18
내용을 간단한 영어로 써도 막히겠네요. 예를들어 gogosing 하고 한마디만 하면 안되겠군요. -
컴매냐
2013.09.17 06:45
그래도 보통 그런 분은 거의 없으니 괜찮지 않을까요?^^ 쿠키를 이용한 보완 버전입니다.
/modules/board/board.view.php function dispBoardWrite() { //쿠키 체크 $nospam="not_spam"; setcookie('is_not_spam', $nospam ,0,'/'); //이하 생략 /modules/board/board.controller.php function procBoardInsertDocument() { //쿠키 설정 체크 if (!isset($_COOKIE['is_not_spam'])) { return new Object(-1, "msg_invalid_request"); } //제목이 온리 영문인지 확인 if(!preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $obj->content)){ return $this->stop('msg_invalid_request'); } //이하 생략
-
푸시아
2013.09.17 10:51
쿠키설정은 좋아 보이네요.
$nospam
=
"not_spam"
;
부분을
$
nospam=sha1("not_spam_".date('YmdHi'));
이렇게 분 단위로 값이 변하게 하고 하고
//쿠키 설정 체크
if
(!isset(
$_COOKIE
[
'is_not_spam'
])) {
이부분을
//쿠키 설정 체크
if
(
$_COOKIE
[
'is_not_spam'
]==sha1("not_spam_".date('YmdHi'))) {
요렇게 하면 어떨까요?주의) 테스트 해본게 아니라서 php 문법이 틀릴 수 있습니다. 개념만... -
CONORY
2013.09.17 11:35
그럼 글작성 시간이 최대 1분이 지나면 차단이군요..ㅎㅎ
-
푸시아
2013.09.17 11:55
ㅋㅋㅋ 그러네요.
한시간쯤이 좋겠네요 ;;
-
스토리웨이
2013.09.17 08:44
고민하지 않은건 아닌데.. 스팸 때문에 생기는 문제가 더 큰거 같아서요.
와, 정상적인 게시물이 보이지 않을 정도가 되버리니....
그래서 좀 과감하게 진행했습니다. 일단, 스팸 고민은 덜 하게 되네요.
고수분들이 보완 해주시리라 믿습니다.
-
푸시아
2013.09.17 10:52
영문 홈페이지 운영 하시는 분들도 고려해야 할 것 같아요 ^^*
-
컴매냐
2013.09.22 12:40
@푸시아 @CONORY
setcookie()에서 시간을 0으로 설정하는 건 0분 후에 만료라는게 아니라 세션이 종료될 때를 말하는 것 같은데요.
http://www.php.net/manual/en/function.setcookie.php
-
푸시아
2013.09.22 13:02
넹. 근데 쿠키를 구울때 값을 가변적으로 하기위해 코드를 고쳐본 거에요. -
cherri
2013.09.29 00:38
제 사이트에는 제목이 영문만으로 된 스팸도 올라오지만
영문이랑 일어랑 섞여있는 스팸도 종종 올라오는데요 ㅜㅜ
혹시 제목에 한글이 없으면 스팸으로 간주하는 것도 좀 만들어주실 수 있나요?
-
kinyenug
2013.10.16 10:03
그 소스로 추가햇는데 한글로 입력해서 올려보니 잘못된 요청이라고 되버리네요..
제목 | 글쓴이 | 날짜 |
---|---|---|
[주옥시리즈]글 목록을 조회수 별로 색상 지정하기 | socialskyo | 2013.09.09 |
[주옥시리즈]댓글 작성, 추천후 다운로드 받을수 있게 하기. | socialskyo | 2013.09.09 |
[주옥시리즈] [1.7.4] 로그인창 옆에 신규 쪽지 수 보여주기 [3] | socialskyo | 2013.09.09 |
[주옥시리즈] 배너 클릭시 포인트지급 모듈, Portal XE [1] | socialskyo | 2013.09.09 |
추천 취소 기능 만들기 [5] | Summer | 2013.09.11 |
게시글 추천 아이피 가져오기 | Stellar | 2013.09.12 |
에디터 비활성화 문제 해결했습니다! [2] | 엘로이스 | 2013.09.13 |
XP + IE8 에서 갑자기 페이지 오류메시지가 뜰 경우 [1] | 다크진 | 2013.09.14 |
스케치북 게시판 목록 홀수 줄 에만 배경지정 [3] | socialskyo | 2013.09.14 |
영문 스팸 방지 [13] | 스토리웨이 | 2013.09.16 |
모바일에서 스케치북 게시판 댓글 펼침이 안 될 때.... | 손자 | 2013.09.17 |
웹사이트 최적화 방법론 [4] | 다크진 | 2013.09.17 |
Apache .htaccess 작성요령 [10] | 컴매냐 | 2013.09.19 |
에디터 비활성화 오류시 점검해야 할것. [1] | 도라미 | 2013.09.20 |
[주옥시리즈] 에디터 컴포넌트, 이모티콘등 앞으로 빼기 [4] | socialskyo | 2013.09.21 |
템플릿 compile 오류가 날 때 | Lansi | 2013.09.22 |
스케치북 게시판에 로그인/로그아웃 버튼 만들기 [1] | Arp. | 2013.09.22 |
[주옥시리즈]댓글창에 배경 이미지 넣기 [3] | socialskyo | 2013.09.22 |
빠른 글 쓰기 - 메인 페이지에서 글 쓰기 [1] | 윈컴이 | 2013.09.23 |
XML 쿼리 사용시 null 값일 경우 업데이트가 안 될 때 [1] | Lansi | 2013.09.27 |
이건 좀 위험하지 않을까요... 가끔 온리영문으로도 제목 쓰는데...