특수문자, 스팸 문자 막기 정보
특수문자, 스팸 문자 막기본문
요즘 게시판에 광고 올리는 놈들이 많아서 만든겁니다.
skin/board/basic/ajax.filter.php
안에 보면 문구를 봐서 die 시키는 구문이 있습니다. 여기에
를 추가해주면 게시판에 특수문자를 입력 못하게 되고 "바.카.라..." 같이 특수문자가 중간에 들어간 한글도 걸러집니다.
첫번째 필터는 특수문자가 들어갔는지 검사하는 것이고
두번째 필터는 한글만 솎아 낸 후에 $content 에 대입시키는 것입니다.
skin/board/basic/ajax.filter.php
안에 보면 문구를 봐서 die 시키는 구문이 있습니다. 여기에
$subject = strtolower($_POST['subject']); $content = strtolower(strip_tags($_POST['content']));
밑에다가 아래처럼
$subject = strtolower($_POST['subject']); $content = strtolower(strip_tags($_POST['content'])); // 특수문자 제거 $msg=mb_convert_encoding($content,"EUC-KR","UTF-8"); $convMsg = mb_convert_encoding($msg, "UTF-8", "EUC-KR"); $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}\x{0000}-\x{00FF}]+/u'; preg_match_all($pattern,$convMsg,$match); $resultArr = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8"); if ($msg!=$resultArr) { $cont=""; die("{\"subject\":\"$subj\",\"content\":\"$cont\"}"); } // 한글만 남김 $msg=mb_convert_encoding($content,"EUC-KR","UTF-8"); $convMsg = mb_convert_encoding($msg, "UTF-8", "EUC-KR"); $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u'; preg_match_all($pattern,$convMsg,$match); $resultArr = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8"); $content = mb_convert_encoding($resultArr,"UTF-8","EUC-KR");
를 추가해주면 게시판에 특수문자를 입력 못하게 되고 "바.카.라..." 같이 특수문자가 중간에 들어간 한글도 걸러집니다.
첫번째 필터는 특수문자가 들어갔는지 검사하는 것이고
두번째 필터는 한글만 솎아 낸 후에 $content 에 대입시키는 것입니다.
추천
3
3
댓글 4개
단점은 글에 특수문자를 입력하지 못합니다. 광고 때문에 짜증나는 경우 최후의 수단으로 고려해보세요.

좋은 팁이네요~~
감사합니다
감사합니다^^