Seite 1 von 1
2 Adminfragen: Rechte-Verwaltung & User-Löschen
Verfasst: 16.09.2007 06:18
von rabby
Hallo,
leider wird mein
Forum von ein paar Skript Kiddies heimgesucht, die nahezu überall ihren Senf dazugeben müssen und sich teilweise schon 400 Beiträge voller Smilies und halben Sätzen erstellten.
Gerne würde ich nun zu allererst einmal diese Kids löschen und mit ihnen auch gleich alle von ihnen verfassten Beiträge (Antworten auf bestehende Threads) und neu eröffnete Threads und Umfrage....
Als nächstes würde ich gerne noch deren E-Mail Adressen für die Registrierung neuer User sperren damit sie sich nicht gleich wieder einnisten.
Die zweite Frage ist noch, ob es eine Art Rechteverwaltung gibt, womit ich dem Chef-Moderator des Forums ermöglichen kann, User zu löschen ohne dass er gleich Admin ist...
Wäre für Tipps und Hilfe dankbar.
Schönen Tag noch.
mfg rabby
Verfasst: 16.09.2007 15:45
von gn#36
Das Löschen der User musst du über den Adminbereich machen (Die MOD:admin_userlist müsste eine Möglichkeit bieten, gleich mehrere auf einmal zu entfernen) Bannen musst du manuell ebenfalls über das ACP machen. Für das löschen von Usern durch den Moderator brauchst du einen Mod oder du musst phpbb3 verwenden, hier kannst du eingeschränkte Admin Rechte vergeben (genau dafür gibt's aber auch einen phpbb2 Mod: MOD:junioradmin).
Verfasst: 16.09.2007 17:51
von rabby
Bin noch bei phpbb2 und habe dort nicht wenige hackits und mods installiert, sodass ich nicht unbedingt gerne zum jetzigen Zeitpunkt schon auf phpbb3 umsteigen möchte; außer es gibt eine schöne Update Funktion
Eine Frage blieb noch offen:
Wie lassen sich alle Beiträge eines bestimmten Users löschen?
Danke nochmal
Verfasst: 16.09.2007 19:23
von gn#36
Hm ursprünglich dachte ich dass man das als Option beim Löschen wählen kann, stimmt aber anscheinend nicht.
Dieses Skript auf jedenfall zuerst an einem Backup testen und auf jedenfall auch ein vollständiges Backup machen!
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.' . $phpEx);
$userlist = array( id1, id2, id3 );
$userlist = implode(', ', $userlist);
$sql = "SELECT post_id FROM " . POSTS_TABLE . " WHERE poster_id IN ($userlist)";
$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Fehler','', __LINE__, __FILE__, $sql);
$statement = '';
while($row = $db->sql_fetchrow($result))
{
$statement .= ' OR post_id = '.$row['post_id'];
}
$sql = "DELETE FROM " . POSTS_TEXT_TABLE . " WHERE 0 $statement";
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Fehler', '',__LINE__, __FILE__, $sql);
$sql = "DELETE FROM " . POSTS_TABLE . " WHERE poster_id IN ($userlist)";
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Fehler', '',__LINE__, __FILE__, $sql);
$sql = "DELETE FROM " . SEARCH_WORDMATCH_TABLE . " WHERE 0 $statement";
$db->sql_query($sql) or message_die(GENERAL_ERROR, 'Fehler', '',__LINE__, __FILE__, $sql);
message_die(GENERAL_MESSAGE, 'User gelöscht!');
?>
Dieses Skript ins Root hochladen nachdem id1, id2, id3 ausgetauscht wurden gegen die zu löschenden ID's und danach dann mit dem dbmaintenance Mod ein wenig aufräumen, ich bin mir nicht 100% sicher ob da jetzt wirklich alles weg ist. Wenn das zu viele Posts sind könnte es Fehler geben ich habe gerade nicht im Kopf wie lang ein Query maximal werden darf.
Verfasst: 16.09.2007 22:33
von kolja
interessantes script, ich bitte um rückmeldung
danke