• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Wie Kunden mit eigenem Skript löschen?

josen

New Member
Hallo,

wir wollen gern automatisiert Kunden aus Confixx 3 löschen. Dazu sammelt ein PHP-Skript statistische Daten und wertet sie aus.

Bisher wurden die zu löschenden Kunden in der Tabelle "delaccs" abgelegt. Ein Beispiel-Befehl den das Skript absetzt sieht so aus:

INSERT INTO delaccs (account,type,kunde,anbieter) VALUES('web83','kunde','web83','res0')

Leider bleiben die Einträge in der Tabelle und die Kunden werden nicht gelöscht. Das Format haben wir durch Löschen eines Kunden in der Weboberfläche gefunden und ablesen in der Tabelle delaccs gefunden. Der Kunde wurde gelöscht, wenn dies über die Weboberfläche eingeleitet wurde.

Wie muss vorgegangen werden, um einen Benutzer komplett zu löschen?
Welche Tabellen müssen in welchem Format wie beschrieben werden?
Welche Verwaltungs-Skripte sind mit welchen Parametern zu starten?

Grüße
 
Eine Moeglichkeit waere das Aktivieren der Logging-Funktion in MySQL und Auslesen aller Aktionen. Ob dies ausreicht weiss ich allerdings nciht.

Alternativ gibt es kostenpflichtige Softwares im WWW welche eine Programmierschnittstelle (API) zu Confixx nachruesten.

Eine dritte Moeglichkeit waere, mittels PHP-Funktionen die benoetigten Interaktionen eines Browsers nach zu ahmen und somit automatisiert ueber die eigentliche Benutzeroberflaeche von Confixx Kommandos aus zu fuehren.

Letzteres ist aber eigentlich eher im Fall von Nicht-Zugriff auf den Root selbst oder als Verzweifelungs-Loesung an zu wenden ;)
 
Das Confixx-updatescript schaut in einer bestimmten Tabelle nach, was es zu tun hat. Hier müssen also die passenden Flags gesetzt werden, damit er den Del-Auftrag auch durchführt.
Ich bin mir nicht 100%ig sicher, da das alles schon eine Weile her ist. Aber ich glaub die Tabelle heißt "allgemein" und zum Löschen eines ganzen Kunden müssen glaub ich mehrere Flags gesetzt werden.

huschi.
 
Hallo zusammen,

leider sind wir noch nicht weitergekommen. Auch nicht mit dem Confixx-Support. Der Tip etwas in allgemein zu schreiben war ein guter Hinweis, leider konnten wir nicht rausfinden, welche Einträge genau notwendig sind. Außerdem wird durch das Skripte "loeschenaendern2.php" auch kein Eintrag in die Tabelle allgemein ausgeführt. Folgendes haben wir versucht:

Code:
INSERT INTO delaccs (account,type,kunde,anbieter,server_id) VALUES('webXXX','kunde','webXXX','res0','9c28da5ebeGRKUERZT248a0abb');
und
Code:
UPDATE allgemein SET frontpage=1, cssl=1, deluser=1, delpop=1, delftp=1, httpd=1, aliases=1;

Beim manuellen löschen werden auf dem Server folgende Queries ausgeführt. Das nachzubilden (woran sicher noch Skripte die das Löschen tatsächlich durchführen), trauen wir uns ohne Experten-Rat nicht zu.

Code:
INSERT INTO delaccs (account, type, kunde, anbieter, server_id) VALUES ( 'webXXX', 'kunde', 'webXXX', 'res0', '9c28da5ebGEKUERZT248a0abb')/*!*/;
DELETE FROM pop3 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM httpd_entries WHERE user  = 'webXXX' AND reseller='res0' AND server_id = '9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM ftp WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM email WHERE kunde='webXXX' AND neu = 1 AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM email WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM email_forward WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
INSERT INTO domainlog (kunde, loeschen, domain, neu,server_id) VALUES ('webXXX', 1, 'webfi.domain.de', 0,'9c28da5ebGEKUERZT248a0abb')/*!*/;
INSERT INTO domainlog (kunde, loeschen, domain, neu,server_id) VALUES ('webXXX', 1, 'www.webfi.domain.de', 0,'9c28da5ebGEKUERZT248a0abb')/*!*/;
INSERT INTO domainlog (kunde, loeschen, domain, neu,server_id) VALUES ('webXXX', 1, 'webXXX.www03.domain.de', 0,'9c28da5ebGEKUERZT248a0abb')/*!*/;
DELETE FROM kunden WHERE kunde='webXXX' AND anbieter='res0' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM alerts WHERE kunde='webXXX' AND anbieter='res0' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM domains WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM autoresponder WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM pwschutz WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM users WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM htaccess WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM fehlermeldungen WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM perl WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM webalizer WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE ipadressen SET kunde='' WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE dns SET neu = 2 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE cssl SET loeschen = 1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE cronjobs SET cronfile='', neu=1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE transfer SET geloescht=1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE ereignisse SET geloescht=1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE frontpage SET loeschen=1, neu=0 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE kunden SET httpd=1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM mysql_datenbanken WHERE kunde = 'webXXX' AND anbieter = 'res0' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM cronjobs WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
UPDATE transfer SET geloescht=1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
INSERT INTO ereignisse (timestamp, nachricht, code, script, anbieter, kunde,server_id) VALUES ('1275229557', 'mlf||scripts_done_user_del||webXXX', '0', 'Update-Script', 'res0', 'webXXX', '9c28da5ebGEKUERZT248a0abb')/*!*/;
UPDATE ereignisse SET geloescht=1 WHERE kunde='webXXX' AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;
DELETE FROM domainlog WHERE domain='webXXX.www03.domain.de' AND loeschen=1 AND server_id='9c28da5ebGEKUERZT248a0abb'/*!*/;

Habt ihr nicht noch einen kleinen Tip für uns?
Ansonsten auch gerne einen Kontakt für Confixx-Techniker, die das Problem bereits gelöst haben.

Grüße
 
Die User, Ordner, etc werden vom Updatescript aus Perl heraus gelöscht.

Aus der db wird afaik nur der User geholt.

Script bauen welches mit einem Parameter die entsprechenden Ordner und User löscht.
 
Das sinnvollste wäre wohl ein cURL Script das wie d4f schon sagte die Interaktionen eines Users durchführt.

Ich habe mir vor ein paar Monaten auf basis von d4f`s HTTP Client Klassen eine Lösung für Froxlor zusammengebaut welche unteranderem Multiserverfähig ist.
 
Back
Top