Discuz 포럼을 운영 할 때 관리자는 스팸 계정 청소 또는 악의적 인 사용자와 같은 배치로 사용자를 삭제 해야하는 상황을 경험할 수 있습니다. 그러나 Discuz 백엔드는 배치 삭제를 직접 제공하지 않습니다. 이 기사는 몇 가지 실용적인 팁을 소개하고 원치 않는 사용자를 효과적으로 삭제하는 데 도움이되는 특정 코드 예제를 제공합니다.
배치 삭제 작업을 수행하기 전에 데이터베이스 백업을 수행해야합니다. 불필요한 손실을 피하기 위해 운영 오류 또는 문제가 발생할 때 백업 데이터는 적시에 데이터를 복원 할 수 있습니다.
배치로 사용자를 삭제하기 전에 관리자는 특정 조건 (등록 시간, 게시물 수, 마지막 로그인 시간 등)에 따라 삭제 해야하는 사용자를 필터링하는 것이 좋습니다. 삭제 작업에는 조건을 충족하는 사용자 만 포함하고 실수로 일반 사용자를 삭제하지 않도록하십시오.
사용자 삭제가 필요한 경우 사이트 서신 또는 공지 사항을 통해 관련 사용자에게 미리 알리고 특정 처리 시간을 제공하는 것이 좋습니다. 이것은 갑작스런 사용자의 삭제로 인해 발생하는 분쟁을 피하는 데 도움이됩니다.
배치 삭제 작업을 수행 할 때주의하십시오. 먼저 테스트 환경에서 작동 단계를 확인하고 프로세스가 올바른지 확인한 다음 공식 환경에서 삭제 작업을 수행하는 것이 좋습니다.
관리자는 SQL 문을 실행하여 사용자의 배치 삭제를 구현할 수 있습니다. 다음은 등록 시간이 특정 날짜 이전의 사용자를 삭제하도록 설계된 샘플 SQL 문입니다.
DELETE
FROM
pre_common_member
WHERE
regdate < UNIX_TIMESTAMP(
'2022-01-01'
);
Discuz는 간단한 PHP 스크립트를 통해 사용자를 배치 삭제할 수있는 관리 인터페이스를 제공합니다. 다음은 Discuz 인터페이스를 사용하여 등록 시간이 시작된 사용자를 삭제하는 샘플 PHP 스크립트입니다.
<?php
define(
'IN_DISCUZ'
, true);
require
'./source/class/class_core.php'
;
$discuz
= C::app();
$discuz
->init();
$users
= C::t(
'common_member'
)->fetch_all_by_regdate(0, UNIX_TIMESTAMP(
'2022-01-01'
));
foreach
(
$users
as
$user
) {
C::t(
'common_member'
)->
delete
(
[
'uid'
]);
$user
}
이 샘플 코드는 참조 용이며 실제 요구에 따라 조정됩니다.
이 기사에 소개 된 팁 및 코드 예제를 통해 관리자는 원치 않는 사용자를 배치로보다 효율적으로 삭제하고 포럼 관리의 효율성을 향상시킬 수 있습니다. 배치 삭제 작업을 수행 할 때는 포럼의 양호한 운영을 유지하기 위해 데이터 보안 및 사용자 경험을 보장하도록주의하십시오.