그누보드 스팸 보안시스템 GNU SM MaGa 버전 두번째를 오픈해봅니다.
지금 만드는 소스는 확장형이므로, 초기 버전은 문제점이 많이 있을 수도 있습니다.
같이 머리를 합치면, 조금더 완벽한 플러그인이 될 수 있습니다.^^
사용방법 : 그누보드 폴더중에 extend 폴더에 그냥 두개의 파일을 넣으시면 됩니다. ^^ 끝
업그레이드 내역
- 문자 필터링 서비스
- 2개이상 문자열이 있으면 참입니다.
$spamVarfilterTextArr 요 변수에 필터링 단어를 추가해주세여.
, 콤마로 이어붙이면 됩니다.
앞으로 소스설명을 하지않겠습니다.
추가사항은 빨강색입니다.
spam.php
$key = "보안을위해서 난 락을 건다. 스팸이여 안녕!!"; // 키는 여러분들이 원하는데로 넣어주세요.
$parameterHash = sql_password($key);
$parameterHash = str_replace("*","",$parameterHash);
$valueHash = md5(microtime());
$searchName = "write.php";
if(strpos($full_URI, $searchName) !== false) {
session_start();
$_SESSION[$parameterHash] = $valueHash;
}
$searchName = "write_update.php";
if(strpos($full_URI, $searchName) !== false) {
if($_SESSION[$parameterHash]){
$_SESSION[$parameterHash] = "";
unset($_SESSION[$parameterHash]);
$spamVar_wr_subject = $_POST['wr_subject'];
$spamVar_wr_content = $_POST['wr_content'];
$spamVar_Text = $spamVar_wr_subject.$spamVar_wr_content;
$spamVar_Text = strip_tags($spamVar_Text);
spamTextFilter($spamVar_Text);
}else{
alert('잘못된 접근입니다.');
}
}
spam.lib.php
function &spamTextFilter($spamVartxt){
$spamVartxt = strip_tags($spamVartxt);
$spamVartxt = htmlspecialchars($spamVartxt);
$spamVartxt = preg_replace("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $spamVartxt);
$spamVartxt = preg_replace('/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-z\[\]\s\d]+/iu','',$spamVartxt);
$spamVartxt = trim($spamVartxt);
$spamVarfilterTextArr = "여대생알바,출마사지,070";
$spamVarfilterTextNum = 0;
$spamVarfilterTextArExp = explode(",",$spamVarfilterTextArr);
for($i = 0; $i < count($spamVarfilterTextArExp); $i++){
$searchName = $spamVarfilterTextArExp[$i];
if(strpos($spamVartxt, $searchName) !== false) {
$spamVarfilterTextNum++;
}
}
if( $spamVarfilterTextNum > 2){
alert("오빠 왜 이래... 살기 힘들지... 우리 쫌만 노력하자");
}
}
댓글 8개
GNU(그누) SM(스팸) MaGa(막아) ㅎㅎ
으악! 이럴때가 아닌데.. 게시판 리스트 스킨 작업중인데..
오늘 올라온 게시판 리스트를 뽑고 싶은데 봅는방법 몰라서 혼자 해매고있네요 .. ㅎㅎ
if($bo_table == "오늘올라올게시판bo_table명"){
//쿼리및 변수들!
select * from 테이블 where 컬럼명 > CURRENT_DATE( );
}
이런식으로 하면 되지 않을까합니다.