유용한 팁 공유 게시판
팁공유라고 해서 아주 특별하거나 기발한거 아니어도 됩니다.
자신이 제로보드를 사용하면서 생긴 자신만의 노하우나 아주 사소한 팁이어도 좋습니다.
자신에겐 아무것도 아니더라도 다른분들께는 분명 중요하고 소중한 팁이 될수 있을겁니다.
안녕하세요, 요즘 바카짱, James Kim, 승리하자, 승리약속 등 많은 스패머 회원때문에 골치아프시죠?
저역시 죽겠습니다. 거의 매일 들어오고...
보니까.. 아마도 한사람 같던데... 주민번호는 모르겠고... 아마 다른 번호로 계속 들어오는거겠죠?
핸드폰 번호는 똑같더라구요. 그사람한테 전화한번 해볼까 하다가, 엄한사람이면 어떻하나 싶어 전화도 못하고.. 그렇습니다.
회원가입시 핸드폰 번호를 보고 가입거절을 시켜버리면 될것 같다는 생각도 드는데...
나중에 이녀석이 바꾸면 대책 없지 않습니까...
그래서 이 사람을 어떻게 하면 쫒아낼 수 있을까 고민을 하다가 저는 나름대로의 대처법을 사용하고 있습니다.
일단, 아래 헐랭이님께서 올려주신 "관리자용 불량회원 정리기" 팁을 응용했습니다.
http://www.zeroboard.com/?mid=zb4_tip&document_srl=849019
저는 위에 "스패머 회원으로 등록" 이라는 체크박스를 추가해서 한번에 바꾸려고 합니다.
좀 귀찮긴 하지만... 위의 자료를 일단 다운로드 받으시고 설치하시기 바랍니다.
그리고 해당 파일을 아래와 같이 변경하였습니다.
붉은 색으로 된 부분이 추가된 부분입니다.
참, 소스에 대한간단한 설명을 드리겠습니다.
if($spammer == 1)
{
//스패머 활동 못하게 회원그룹과 레벨 변경, 회원점수 변경(-100으로), 이메일 관리자로변경, 홈페이지 주소 삭제
@mysql_query("update $member_table set point1='-100', point2='0', password='606c59ef725276e2', email='변경하고싶은이메일', level='10', group_no='변경하고싶은그룹 숫자', homepage='' where user_id='$muserid'") or error(mysql_error());
echo ("<script> alert('요청하신 $info[name] 회원을 스패머로 등록하였습니다.');</script>");
}else
{
}
위의 내용이 주된 소스가 되겠네요,
저는 임의로
1. 회원 포인트 -100으로 변경
2. 패스워드 임의로 변경 (나중에 로긴 못하게)
3. 이메일 비번 임의로 변경 (저는 제 스팸전용 개인메일로 해두었습니다. 이녀석이 비번을 메일인증 받으려고 하면 제가 알수 있겠죠)
4. 레벨 10으로 변경
5. 변경하고싶은 그룹 숫자로 변경 <-- 저는 스팸회원 그룹을 따로 만들어서 이동시켜 버립니다. 필요없으신 분은
위의 소스에서
group_no='변경하고싶은그룹 숫자',
위의 내용을 삭제하시기 바랍니다. (그룹 숫자의 확인은 phpmyadmin 같은데에서 확인하실 수 있습니다.)
6. 홈페이지 주소 삭제
저는 메인화면에 홈페이지 주소가 있는 사람을 출력해주는데, 이상한 홈페이지로 가는게 그래서...
7. 원래는 이름을 000 이런식으로 바꿀까 했었습니다. 근데 그냥 놔뒀어요.
추가 되었으면 하는 기능.. ㅡ,ㅡ;;;;;
8. 아직 해결 못한것. 보니까 zetyx_group_table 에서 그룹회원 숫자는 따로 관리를 하더라구요.
이 팁은 그룹이 변경되다 보니까 기존 그룹에서 회원수를 1 빼주고, 새로 옮길 스팸그룹에 1을 더해줘야 하는데,
시간관계상 (사실은 사무실에서 눈치보다 보니... 수정을 못해서....) 놔뒀습니다.
전문 프로그래머가 아니라 테스트를 무지 해봐야 하거든요.. ㅠㅜ
이것 해결하시면 저에게도 좀 알려주세요. ^^;;;
그럼 제가 수정한 소스 나갑니다~
------------------------------------- ----------------------------------- ------------------------------ -----------------------------
<?
/*************************************************************************
* 관리자용 불량회원 정리기^^
**************************************************************************/
include "outlogin.php";
//최고관리자만
if($member[is_admin]!=1) { error("최고 관리자만 이용가능 합니다");
exit;
}
//이중안전장치
if(!$mode && $member[is_admin]==1){
$mid = $_GET['mid'];
?>
<head>
<script>
function check(){
if(!board_send.muserid.value) {alert("정리할 회원아이디를 입력하여 주세요."); board_send.muserid.focus(); return false;}
}
</script>
<title>불량회원 게시물 정리하기</title>
</head>
<body bgcolor="#ffffff" topmargin="0" marginheight="0" leftmargin="0" marginwidth="0">
<center>
<br>
<font size="2" face="돋움" color="#CC6666"><b>주의: 한번정리한 게시물은 되돌릴수 없습니다.</b></font>
<br><font size="2" face="돋움" color="#ff6666"><b>정리할 회원아이디는 신중하게 적어주세요..</b></font>
<form name='board_send' method='post' action='<?=$PHP_SELF?>' onsubmit="return check();">
<p><font size="2"><input type='hidden' name='mode' value='memberbod'></font></p>
<table border="0" cellspacing="0" width="350">
<tr>
<td width="109" bgcolor="white">
<p><font face="돋움" size="2"><b>회원ID</b></font></p>
</td>
<td width="206">
<p><font size="2"><input type='text' name='muserid' value="<?=$mid?>" size='20' MAXLENGTH='30'></font></p>
</td>
</tr>
<tr>
<td width="109" bgcolor="white">
<p><font size="2" face="돋움"><b>스팸회원등록</b></font></p>
</td>
<td width="206">
<p><font size="2">
<input type=checkbox name=spammer value=1 <? if ($spammer) echo 'checked' ?> checked>스패머 회원 등록</font></p>
</td>
</tr>
<tr>
<td width="109" bgcolor="white">
<p><font size="2" face="돋움"><b>포인트초기화</b></font></p>
</td>
<td width="206">
<p><font size="2">
<input type=checkbox name=points value=1 <? if ($points) echo 'checked' ?> checked>해당 회원의 포인트를 초기화함</font></p>
</td>
</tr>
<tr>
<td width="109" bgcolor="white">
<p><font size="2" face="돋움"><b>레벨초기화</b></font></p>
</td>
<td width="206">
<p><font size="2">
<input type=checkbox name=mlevels value=1 <? if ($mlevels) echo 'checked' ?> checked>해당 회원의 레벨을 9으로 만듬</font></p>
</td>
</tr>
<tr>
<td width="109" bgcolor="white">
<p><font size="2" face="돋움"><b>상태 알림</b></font></p>
</td>
<td width="206">
<p><font size="2">
<input type=checkbox name=memos value=1 <? if ($memos) echo 'checked' ?> checked>해당 회원에게 정리내역을 쪽지로 알려줌</font></p>
</td>
</tr>
<tr>
<td width="121" bgcolor="white">
<p><font face="돋움" size="2"><b> 메시지 내용</b></font></p>
</td>
<td width="251">
<p><font size="2"><textarea name="message" rows="5" style="border-width:1px; border-color:rgb(102,204,255); border-style:solid; width:200px;" cols="32"></textarea></font></p>
</td>
</tr>
<tr>
<td width="319" colspan="2" align="center">
<p align="center"><input type="submit" value=" 정리하기 " class="submit" width='320' style="border-color:white;"></p>
</td>
</tr>
<tr>
<td width="319" colspan="2" align="center">
<p align="center"><a href=".javascriptself.close();">창 닫 기</a></p>
</td>
</tr>
</table>
</form>
<?
}
elseif($mode==memberbod && $muserid) {
//혹시나해서 안전장치를 한번더
if($member[is_admin]!=1) { error("최고 관리자만 이용가능 합니다");
exit;
}
$check_id = mysql_fetch_array(mysql_query("select count(*) from $member_table where user_id='$muserid'"));
$sender = $member[user_id];
if($check_id[0]!=1){ Error('존재하지 않는 ID 입니다. 다시 확인해주세요.');
exit;
}
elseif($muserid == $sender) { Error('자신의 아이디는 입력할 수 없습니다.');
exit;
}
$info=mysql_fetch_array(mysql_query("select no,name from zetyx_member_table where user_id='$muserid'"));
$result=mysql_query("select name from zetyx_admin_table");
while($data=mysql_fetch_array($result)) {
$result2=mysql_query("select ismember from zetyx_board_$data[name]");
while($data2=mysql_fetch_array($result2)) {
if($data2[ismember]==$info[no]) {
//@mysql_query("delete from zetyx_board_$data[name] where ismember='$info[no]'");
echo "글 삭제완료<br>";
}
}
$result3=mysql_query("select ismember from zetyx_board_comment_$data[name]");
while($data3=mysql_fetch_array($result3)) {
if($data3[ismember]==$info[no]) {
//@mysql_query("delete from zetyx_board_comment_$data[name] where ismember='$info[no]'");
echo "코멘트 삭제완료<br>";
}
}
}
// 아래부터 추가
// 게시물의 코멘트수 추적하여 정정
// 저는 이쪽이 필요없을것 같아서 주석처리했습니다만, 필요하신분은 주석 해지하세요
//$result=mysql_query("select name from $admin_table");
//while($data=mysql_fetch_array($result))
//{
//$sss=mysql_query("select * from $t_board"."_$data[name]");
//echo "게시판 : $data[name]<br><br>";
//while($aaa=mysql_fetch_array($sss))
//{
//$bbb=mysql_query("select count(*) from $t_comment"."_$data[name] where parent='$aaa[no]'");
//$ccc=mysql_fetch_array($bbb);
//if($aaa[total_comment]!=$ccc[0])
//echo "번호 $aaa[no] : $ccc[0] ... 다름 (원본:$aaa[total_comment]) ... 수정완료<br>";
//mysql_query("update $t_board"."_$data[name] set total_comment=$ccc[0] where no='$aaa[no]'");
//}
//}
echo "<br>";
if($spammer == 1)
{
//스패머 활동 못하게 회원그룹과 레벨 변경, 회원점수 변경(-100으로), 이메일 관리자로변경, 홈페이지 주소 삭제
@mysql_query("update $member_table set point1='-100', point2='0', password='606c59ef725276e2', email='변경하고싶은이메일', level='10', group_no='변경하고싶은그룹', homepage='' where user_id='$muserid'") or error(mysql_error());
echo ("<script> alert('요청하신 $info[name] 회원을 스패머로 등록하였습니다.');</script>");
}else
{
}
if($points == 1)
{
//포인트1,2를 0으로 만들어버림.. 추가할 필드가 있으면 계속추가 하세요.
@mysql_query("update $member_table set point1='0', point2='0' where user_id='$muserid'") or error(mysql_error());
echo ("<script> alert('요청하신 $info[name] 회원의 포인트를 모두 초기화 하였습니다.');</script>");
}else
{
}
if($mlevels == 1)
{
//제로보드 회원레벨을 9으로 만들어 버림 (만들 레벨로 수정하세요)
@mysql_query("update $member_table set level='9' where user_id='$muserid'") or error(mysql_error());
echo ("<script> alert('요청하신 $info[name] 회원의 제로보드 레벨을 9으로 강등조치 하였습니다.');</script>");
}else
{
}
if($memos == 1)
{
$reg_date = time();
$datass = mysql_fetch_array(mysql_query("select no,name from $member_table where user_id='$muserid'"));
$message = $datass[name].'님의 게시물 정리 안내 입니다.\\n'.$message;
$message = nl2br($message);
@mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ('$datass[no]','$member[no]','게시물 일괄정리 안내 입니다.','$message',1,'$reg_date')") or error(mysql_error());;
@mysql_query("update $member_table set new_memo=1 where user_id='$muserid'") or error(mysql_error());
echo ("<script> alert('요청하신 $datass[name] 회원의 게시물의 모두정리를 하였습니다.잠시후 첫 화면으로 돌아갑니다.');</script>");
echo "<Meta http-equiv='refresh' content='3;url=$PHP_SELF'>";
}
else
{
echo ("<script> alert('요청하신 $datass[name] 회원의 게시물의 모두정리를 하였습니다.잠시후 첫 화면으로 돌아갑니다.');</script>");
echo "<Meta http-equiv='refresh' content='3;url=$PHP_SELF'>";
}
}
?>


