묻고답하기
스팸회원 문제 10000명 한번에 삭제하려면 어떻게 할까요
2015.09.12 22:16
안녕하세요
스팸회원과 스팸글때문에 골머리가 썩어나네요ㅠㅠ
많은 스팸회원을 한번에 삭제 하고 싶은데요
관리자 모드에서 회원목록을 1000명 또는 10000명씩 출력하려면 어디 부분을
수정해야 하나요?
회원목록에 현재는 40명씩 출력이 되는데 출력되는 회원 수를
수정해서 한번에 삭제를 하고 싶습니다.
소스의 어느 부분을 수정해야 할까요?
아 스팸게시물은 특정 게시판에 10000개 정도 게시물이 등록되어 있어
게시판을 그냥 삭제 해버렸습니다.
관리자들이 쓰는 게시판이라 다른 일부 게시물은 포기하고
게시판을 삭제 해버려서 이 문제는 간단하게 해결했으나
스팸봇이 가입한 10000명 이상의 스팸회원 삭제가 문제입니다ㅠㅠ
댓글 5
-
닉이
2015.09.12 22:25
-
큰일꾼큰두부
2015.09.14 17:22
저도 이 문제로 골치아팠는데 알려주셔서 감사합니다.
-
꾸링
2015.09.14 18:25
공통분모가 있으면 쿼리를 날려서 삭제하는게 훨 효율적일듯하네요 -
sejin7940
2015.09.14 19:26
제가 예전에 처리했던 방법이
마지막 로그인시점이 등록일로부터 5초 이내이고, 글 과 댓글 모두 등록한 적이 없는
회원 리스트를 쭉 뽑아서, 수동으로 쭉 리스트내역을 한번 훑은 후 한꺼번에 지우는 식으로 처리했었죠
php 파일 하나에 query 조금 돌려서 구현하실 수는 있습니다.
그 후 글과 댓글있는 스패머의 글은
XE 관리자 쪽에 기능을 조금 추가해 스팸처리시 해당 회원의 모든 글과 댓글 삭제처리하게 소스를 좀 고쳐두면 회원삭제하면서 스팸글까지 쭉쭉 삭제처리 가능합니다.뭐.. 결국 수작업으로 하시거나.. 아니면 너무 많으면 외주를 주거나 하셔야할거예요
-
현종이닷
2019.10.10 05:45
오래된 글이지만 댓글 남겨 봅니다.
저는
delete.php 와 memberlist.php 를 만들어 두고 쓰는데요
delete.php<?php
include('db_config.php');
$name = $_POST['name'];
mysqli_query($con,"delete from `www_documents` where user_name = '$name'")or die (mysqli_error());
mysqli_query($con,"delete from `www_member` where user_name = '$name'")or die (mysqli_error());
mysqli_query($con,"delete from `www_comments` where user_name = '$name'")or die (mysqli_error());
header('location:/index.php?mid=memberlist');
?>
memberlist.php<?php
include("db_config.php");
if (!defined ("__XE__")){
echo "<h2>홈페이지를 통해 접속하셔야만 조회가능합니다.</h2>";
exit;
}
$sql = mysqli_query($con,"SELECT * FROM www_member");
$total_record = mysqli_num_rows($sql);
echo "가입한 회원수 = ".$total_record."명<p>";
echo "<table width='95%' border='1'>
<tr>
<td>ID </td>
<td>이름 </td>
<td>닉네임</td>
<td>가입일</td>
<td>삭제</td>
</tr>";
while($row_array = mysqli_fetch_array($sql)){
$regdate = substr($row_array[regdate],0 ,8);
echo "
<tr>
<td>$row_array[user_id]</td>
<td>$row_array[user_name]</td>
<td>$row_array[nick_name]</td>
<td>$regdate</td>
<td>
<div id=\"del\" style=\"float:left;\">
<form method=\"post\" action=\"/admin/delete.php\" >
<input type=\"hidden\" name=\"name\" required value=$row_array[user_name]>
<input type=\"submit\" name=\"submit\" value=\"삭제\"/>
</form>
</div>
</td>
</tr>";
}
echo "</table>"
?>
member모듈 - member.admin.model.php파일
function getMemberList()에서
$args->list_count = 40; 숫자를 변경하세요.