Benutzer-Bilder vollständig löschen

  • Affected Version
    WoltLab Suite 3.1

    Hallo,

    es geht mir darum, Bilder (Dateien) eines ehem. Nutzers ganz, d.h. restlos, zu löschen. Ich wollte am Do. von Suite 3.2 auf die 5.2 updaten, habe das Vorhaben dann aber verschoben. Ich hatte bereits eine Gesamt-Sicherung der FILES durch Kopieren in einen Unterfolder gemacht, am nächsten Tag fiel mir, dass die Bilder eines Nutzers, der uns mal die Gallery mit einem Haufen Bilder fernab unseres Forums-Daseinsmottos vollgemüllt hatte und uns dann verlassen hatte, immer noch online sind. Das hat seinen guten Grund, nämlich den, dass ich den Verdacht habe: Wenn ich einfach den Thread lösche - bleiben die Dateien womöglich noch online. Ok, aus der Datenbank kriege ich das schon raus, ABER, da die Dateien selber verschachtelt in Foldern und Unterfolden und mit bloßen Hashwerten oder was es sein soll, als Filename online sind, so dass sich per FTP-Gegrabbel nur optisch und sehr mühsam durch Aufklappen vieler verschiedener Folder und Subfolder feststellen lässt, was und wo die Hinterlassenschaft dieses Spamers ist -

    KANN MIR BITTE JEMAND SAGEN, ob mit LÖSCHEN SEINES THREADS bzw. seiner BEITRÄGE WIRKLICH ALLES WEG IST? ALLE BILDSCHNIPSEL, ALLES?

    Und dazu nochmal eine Frage an den Entwickler Alexander Ebert : Wenn das ganze File, so wie dieser Ex-User uns das hinterlassen hat, plus seine ganzen Formatschnipsel online sind - warum ist das gleiche Foto nochmals als Base64-Datei in der Datenbank? Ich gucke mal in mein runtergeladenes Dump und denke, ich traue meinen Augen nicht: 1 Foto = 40.042 (VIERZIGTAUSEND!!!!!!) Zeichen (ohne sonstige Meta-Daten) = 13 Seiten Text - NUR IN DER DATENBANK!

    Ich arbeite seit Jahren mit Joomla UND WP und wir haben bestimmt hunderte Fotos oben - aber in der Datenbank nur Verknüfungen und Meta-Daten.

    Falls jemand meint, ich hätte vor Abfassung dieser Frage nicht genügend in allen Foren und Tuts gesucht - doch, habe ich, auch mancherlei anderes, Interessantes gefunden (z.B. wie sinnvoll ist es, Geo-Koordinaten automatisch zu entfernen) und gebookmarkt. Aber Birnen sind eben nicht Äpfel.

    Danke euch und wünsche euch einen schönen Sonntag!

  • Falls jemand meint, ich hätte vor Abfassung dieser Frage nicht genügend in allen Foren und Tuts gesucht - doch, habe ich,

    Sofern die Dateianhänge über den/die Beiträge hinzugefügt wurden und nicht nur verlinkt, dann werden die Dateianhänge direkt beim löschen des jeweiligen Beitrags mit gelöscht.

    Beim löschen eines Themas, wird diese Aktion für alle Beiträge in diesem Thema ausgeführt.

    RE: Thread löschen - was passiert mit den Dateianhängen?

    warum ist das gleiche Foto nochmals als Base64-Datei in der Datenbank?

    In welcher Tabelle hast du denn nachgeschaut? Ich kann das bei mir gerade nicht finden.

  • Habe in einem entpackten Dump nachgeschaut. Die Tabelle heißt :

    Code
    gallery1_image


    Danke für den Hinweis auf den Thread von Cyperghost. Sehe aber vor der Hand, dass das nur (eher wenige, also mit wenigen Dateianhängen) Beiträge betrifft. Die meisten Fotos hatte der aber in die Gallery hochgeladen.

    Es wäre sinnvoll, die Behandlung dieser Frage mal in eine Hilfe - die ich natürlich auch ohne Ergebnis durchgesehen habe - aufzunehmen.

  • warum ist das gleiche Foto nochmals als Base64-Datei in der Datenbank? Ich gucke mal in mein runtergeladenes Dump und denke, ich traue meinen Augen nicht: 1 Foto = 40.042 (VIERZIGTAUSEND!!!!!!) Zeichen (ohne sonstige Meta-Daten) = 13 Seiten Text - NUR IN DER DATENBANK!

    Wir speichern Bilder im Dateisystem und nicht in der Datenbank, in welcher Spalte steht denn dieser Inhalt?

  • Die Spalte heißt "rawExifData" und der beanstandete Inhalt - als Textfile wie gesagt 13 Seiten A4 im Word- wird von 3 Kameramodellen aus der Bilddatei hinterlegt/extrahiert, das sind:

    Panasonic DMC-FX30

    SONY DSC-RX100

    Panasonic DMC-FZ100

    Ich suche jetzt mal im Internet, ob das alles normal ist.

  • Durch die Suche erfuhr ich:

    1. Der Ausdruck "rawExifData" ist eine Spezialität des Hauses. Andere nennen das z.B. "exif_data_raw".

    2. Gespeichert werden hier anscheinend Rohdaten, möglicherweise von Fotos, die im .NEF Format z.B. 16 MB groß waren, nach der Abspeicherung als JPG dann z.B. 2,3 MB, aber das NEF-Rohdatenformat für das Exif bleibt auch nach Konversion. Vielleicht ist das ein eingebettetes Vorschaubild.

    3. Ein "normaler" Exif-Datensatz ist unter 1000 Zeichen groß, s. https://en.wikipedia.org/wiki/Exif. Die Muster-Exif-Tabelle hat hier 833 Zeichen.

    Hier schreibt ein tom_mann|1 bereits 2010: "... because stripping EXIF info from a RAW file is so uncommon" https://www.photo.net/discuss/thread…w-files.408498/

    Eben. Uncommon. Ich weiß nicht, wie man das begrenzen kann, aber ich möchte solche Monster-Trucks von Exifs nicht in meiner DB haben.

  • Danke, Herr Schmidt, hat sich gerade überschnitten. Kann ich solche Datensätze löschen (Spalte rawExifData von ID -> ID "leeeren") oder wird die Tabelle dann inkonsistent? Und wird kann ich künftig so was, was doch keinen Sicht macht, verhindern? Geht das nur über eine Forumsregel, die Nutzer sollen vor dem Hochladen das RAW-Exif löschen? Mit Regeln sind wir gesättigt, noch mehr brauchen wir nicht.

    Edited once, last by Arruba (January 12, 2020 at 6:40 PM).

  • So, ich habe den Thread mitsamt Dateianhängen gelöscht - dachte ich. Aber Pustekuchen: Die Bilder sind alle noch online und mussten einzeln von aus Foldern mit Bezeichnungen wie "e8" (alle zweistellig) aufgerufen und gelöscht werden und zwar nach reiner Sicht-Bewertung, da die Titel der Bilder auch nur alphanumerische Zeichenfolgen sind:

    Erschwerend kommt hinzu, dass in manchen Verzeichnissen Dateianhänge anderer Nutzer sind. Das engültige Löschen ist also reine Handarbeit. Damit hätte ich etwas der Wunschliste für zukünftige Updates zuzufügen:

    - eine Zuordnung wenigstens der Ablagefolder (also hier "e8") in den Metadaten des Nutzers in der Datenbank;

    - einen Trigger, der beim Löschen eines Posts die Bilder auf der Online-Festplatte wirklich auch gleich mitlöscht. Was ja jetzt nicht der Fall ist.

    Und was das Galerie-Problem, das Raw-Exif einer (ehem., als JPG exportieren) RAW-Datei, betrifft: Den Inhalt solcher Felder muss ich wohl auch händisch leeren. Per SQL-Befehl möchte ich das nicht machen.

  • Reicht es nicht betreffende Bilder in der datenbank als "isDeleted" auf 1 zu setzen und bei "deleteTime" den aktuellen Timestamp, dann liegen die im Papierkorb und werden per Cronjob nach X zeit (ACP einstellbar) gelöscht, samt ftp daten?

  • So, ich habe den Thread mitsamt Dateianhängen gelöscht - dachte ich. Aber Pustekuchen: Die Bilder sind alle noch online und mussten einzeln von aus Foldern mit Bezeichnungen wie "e8" (alle zweistellig) aufgerufen und gelöscht werden und zwar nach reiner Sicht-Bewertung, da die Titel der Bilder auch nur alphanumerische Zeichenfolgen sind:

    Kann es sein, dass du irgendwie Dateianhänge und Galerie Bilder durcheinander wirfst? Du sprichst von Dateianhängen, zeigst auf dem Screenshot aber das Verzeichnis: gallery/userImages/. Das sind keine Dateianhänge.

    - einen Trigger, der beim Löschen eines Posts die Bilder auf der Online-Festplatte wirklich auch gleich mitlöscht.

    Dateianhänge werden gelöscht, wenn der Forenbeitrag gelöscht wird, in welchem die Dateianhänge hochgeladen wurden. Aber Galerie Bilder werden ja in der Galerie hochgeladen und sind meines Wissens nicht an ein Thema oder einen Beitrag im Forum gekoppelt. Also wieso sollten die Bilder gelöscht werden, wenn irgendein Beitrag oder Thema im Forum gelöscht wird?

  • Burakkii Inaba Das weiß ich nicht, nun habe ich sie alle gelöscht. "isDeleted" bedeutet doch nur - denke ich mal -, dass die Dateinanhänge vom Nutzer gelöscht wurden, aber eben nicht endgültig gelöscht sind, das sollte dann der Cronjob besorgen. Ich bin aber Admin und außerdem bedeutet dein Vorschlag ggf. auch händische Arbeit.

    ReeN : Es kann sein, dass der Nutzer einzelne Bilder aus der Galerie verlinkt hat, dort hatte er zum gleichen Thema auch eine Fotostrecke hochgeladen. Das kann aber nur ein Bild gewesen sein, die anderen, sah ich schon per FTP am Datum der Verzeichnisse, hat er alle einen Tag später, als sein Post schon veröffentlicht war, eingestellt. Der hat ohnehin alles kreuz und quer gemacht, nun, nachdem ich seine redundanten Fotos (ein Neben-Thema in zig Variationen) alle gelöscht habe, auch die Galerie davon entschlackt habe, kann ich es nicht mehr nachvollziehen. Aber das:

    Quote

    Dateianhänge werden gelöscht, wenn der Forenbeitrag gelöscht wird,

    Könnte ich mal experimentell nachstellen, dann wird es sich erweisen.

    Danke für eure Antworten! Aber meine Datenbank ist jetzt schon mal um einiges Totholz leichter.

Participate now!

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