3 User zeitgleich gelöscht wie geht das?

  • Affected Version
    WoltLab Suite 3.1

    Hallo


    Mir ist gestern etwas komisches passiert. In unserem Forum hat sich ein User mit drei Accounts angemeldet. Das komische war das er das mit exakt den selben Daten inclusive Emailadresse gemacht hat. Das ist normalerweise nicht möglich.


    Ich habe dann zwei dieser Accounts gelöscht. Offensichtlich auch meinen Co Admin. Der Witz ist das das laut Timestamp in der Datenbank exakt gleichzeitig gewesen ist. Ich habe die User nicht in einer Liste ausgewählt. Den Co admin schon garnicht.


    Ich habe nun zwei Fragen:


    Warum kann das passiert sein?



    Ich habe den Co admin neu angelegt. Wie kann ich ihm nun seine alten Beiträge und Pn´s wieder zuordnen.

  • Das würde mich auch mal interessieren.

    Ich fahre auch noch ein Forum das seit 15 Jahren mit einer kostenlosen Forumssoftware betrieben wird.

    Dort brauche ich nur in der DB die alte UserID beim neuen Account eintragen, den Nick ändern und er hat wieder alle seine Beiträge und PNs.

    Geht das hier auch so einfach?

    Gremlins sind harmloser als Trolle. Beide erzeugen nichts Gutes, aber Gremlins darf man folgenlos zumindest vor Mitternacht füttern!

  • Nein geht offensichtlich nicht. Ich habe dem neu angelegten Admin die alte id des gelöschten Admin gegeben. Das führte zu einem Datenbankfehler.

  • Das würde mich auch mal interessieren.

    Ich fahre auch noch ein Forum das seit 15 Jahren mit einer kostenlosen Forumssoftware betrieben wird.

    Dort brauche ich nur in der DB die alte UserID beim neuen Account eintragen, den Nick ändern und er hat wieder alle seine Beiträge und PNs.

    Geht das hier auch so einfach?

    Nun ja, vor ca. 15 Jahren ging das sicher auch mit dem WBB, aber wir sind 15 Jahre weiter und erwartest du ernsthaft das der Stand der Technik (Programmierung) stehen bleibt? Wohl eher nicht. Klar hat das Auswirkungen wenn du mal eben in der Datenbank rum pfuscht. An so vielen Ecken werden die selben Daten abgefragt oder verändert, das muss man eben vor einer Änderung in der Datenbank genau überlegen. ;)

    WoltNet - Wir haben die aktuellen Nachrichten der WoltLab-Szene!

  • Ich würde empfehlen einfach ein Backup von vor der Löschung einzuspielen. Das wäre die einfachste, schnellste und sicherste Lösung.


    Ich habe dem neu angelegten Admin die alte id des gelöschten Admin gegeben. Das führte zu einem Datenbankfehler.

    Die userIDs werden auch noch an x anderen Stellen genutzt. Wenn du jetzt stumpf die userID eines Users änderst, bleiben an x anderen Stellen userIDs stehen, zu denen kein User mehr existiert, weil du dessen userID ja geändert hast. Und zu der geänderten userID existieren an den anderen Stellen vermutlich keine Zuordnungen. Das passt dann also alles nicht zusammen. Wenn, dann müsste die userID wirklich überall angepasst werden.


    Davon abgesehen wird beim Löschen glaub ich eh überall die userID des gelöschten Users auf 0 gesetzt und es bleibt nur der username übrig oder die Zuordnung wird komplett entfernt. Also das ändern der userID auf die userID des gelöschten Users würde wohl wenig bringen. Wenn überhaupt, müsste man sich wohl eher am username des gelöschten Users orientieren, um die Inhalte dem neuen User zuzuordnen. Und selbst dann wird man vielleicht nicht alles abdecken. Konversationen (PNs) könnten als Beispiel vielleicht teilweise gar nicht mehr existieren, weil die gelöscht werden, wenn der letzte Teilnehmer sie verlässt. Falls der gelöschte User der letzte Teilnehmer in einer Konversation gewesen sein sollte, dürfte die also gelöscht sein.


    Wie anfangs schon geschrieben, würde ich empfehlen einfach ein Backup von vor der Löschung einzuspielen.

  • Nun ja, vor ca. 15 Jahren ging das sicher auch mit dem WBB, aber wir sind 15 Jahre weiter und erwartest du ernsthaft das der Stand der Technik (Programmierung) stehen bleibt?

    Ich sagte dass das Forum seit 15 Jahren läuft, nicht dass die Software auf dem Stand von vor 15 Jahren ist :)

    In dieser Software läuft alles nur über IDs, der Software ist "egal" was hinter dieser ID steht, der Inhalt ist also per DB austauschbar.

    Aber ich hatte schon vermutet, dass es beim WBB nicht funktioniert, da die Struktur komplexer ist.

    Gremlins sind harmloser als Trolle. Beide erzeugen nichts Gutes, aber Gremlins darf man folgenlos zumindest vor Mitternacht füttern!

  • Ändert aber nichts an der Tatsache, das es etliche Ecken gibt an der man die ID's oder andere wichtige Informationen nicht mehr so ohne weiteres ändern kann ohne die an anderen Stellen auch ändern zu müssen. ReeN hat es noch deutlicher erklärt. Das handieren in der Datenbank ist ohne fundiertes Wissen zu vermeiden. Ein Backup einzuspielen und Benutzer über das ACP zu löschen ist praktikabler und sicherer.

    WoltNet - Wir haben die aktuellen Nachrichten der WoltLab-Szene!

  • Peace! Ich habe das durchaus verstanden :)

    Aber ich hatte schon vermutet, dass es beim WBB nicht funktioniert, da die Struktur komplexer ist.

    Gremlins sind harmloser als Trolle. Beide erzeugen nichts Gutes, aber Gremlins darf man folgenlos zumindest vor Mitternacht füttern!

  • Ein Backup einspielen ist leider keine Option da dann Beiträge von mindestens 3 Tagen weg wären. Das sind ne Menge.



    Ich habe jetzt das im Forum gefunden und werde das mal in einer Testinstallation testen.



    Code
    SQL
    
        UPDATE wbb1_post SET userID = neueUserID WHERE username = 'alterUserName';
        UPDATE wbb1_thread SET userID = neueUserID WHERE username = 'alterUserName';
        UPDATE wcf1_conversation SET userID = neueUserID WHERE username = 'alterUserName';
        UPDATE wcf1_conversation_to_user SET participantID = neueUserID WHERE username = 'alterUserName';
        UPDATE wcf1_comment SET userID = neueUserID WHERE username = 'alterUserName';
        UPDATE wcf1_comment_response SET userID = neueUserID WHERE username = 'alterUserName';



    Die Frage ist halt warum das überhaupt passiert ist. Ich vermute dahinter irgendeinen Bug denn ich habe keine drei Accounts auf einmal ausgewäht zum löschen. Mein Co Admin war auch ganz sicher nicht dabei. Außer mir und dem Co Admin kommt auch keiner in den ACP Bereich.

  • Ich vermute dahinter irgendeinen Bug denn ich habe keine drei Accounts auf einmal ausgewäht zum löschen. Mein Co Admin war auch ganz sicher nicht dabei.

    Wie hast du denn den User (bzw die User) gelöscht? Hast du den User in der Benutzer Liste markiert und dann unten rechts auf "x Benutzer" geklickt und anschließend auf "löschen"? Dann wäre es zumindest denkbar, dass du den Co Admin irgendwann früher auch mal markiert hattest und nicht wieder demarkiert hattest. Also dass der noch mit markiert war, ohne dass du darauf geachtet hattest. Das heißt jetzt natürlich nicht, dass es so sein muss. Ich frage das nur, um diese Möglichkeit auszuschließen.

  • Ich habe den User im ACP gesucht. Er war der einzige der angezeigt wurde. Den habe ich dann über das x gelöscht. Das der Co Admin da was gemacht hat schließe ich aus da sich der User erst vor 30Minuten registriert hatte und der Co Admin defintiv nicht online war.


    Komisch war ja schon das sich dieser User dreimal mit absolut gleichen Daten registriert hat. Das ist alleine schon wegen der Email Adresse eigentlich nicht möglich.

  • Er war der einzige der angezeigt wurde

    dreimal mit absolut gleichen Daten

    Woher weißt du dass er sich 3x mit den gleichen Daten registriert hat wenn der im ACP nur einmal angezeigt wurde ? Wenn du den User über das ACP gelöscht hast, kann er sich logischerweise wieder mit den selben Daten erneut registrieren. Entweder den User "nur" sperren oder die E-Mail/Username auf die Blacklist setzen, dann ist eine erneute Registrierung mit den selben Daten nicht mehr möglich.


    Btw: Wenn man irgendwelche ID's und andere Sachen direkt in der Datenbank ändert und anschließend irgendwelche dubiosen Fehler hat, ist das sicherlich kein Fehler im WSC.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!