Skip to content

Sicherheit

FG Media Audit 0.9.1 schützt schreibende und sensible Verwaltungsfunktionen mit WordPress-Berechtigungsprüfungen, Nonces und zusätzlichen Zustandsprüfungen. Diese Seite beschreibt ausschließlich Mechanismen, die im aktuellen Projektcode nachvollziehbar sind.

Die Plugin-Oberfläche und die relevanten Aktionen verwenden manage_options. Die AJAX-Endpunkte sind nur als wp_ajax_* registriert; öffentliche wp_ajax_nopriv_*-Varianten existieren nicht.

CSV-/JSON-Export, Backup-Download, Import, Rollback, Verwendungsscan und Direktbearbeitung prüfen die erforderliche Administratorberechtigung serverseitig.

Schreibende und sensible Aktionen verwenden WordPress-Nonces. Dazu gehören insbesondere:

  • Verwendungsscan
  • Direktbearbeitung
  • Importvorschau und bestätigter Import
  • Rollback
  • CSV-/JSON-Export
  • Backup-Download

Nonces ersetzen keine Berechtigungsprüfung; der aktuelle Code verwendet für diese Vorgänge zusätzlich manage_options.

Importdateien werden vor dem Parsing geprüft. Der aktuelle Import begrenzt die Datei auf 10 MB, akzeptiert nur CSV oder JSON und prüft den tatsächlichen HTTP-Upload sowie die Lesbarkeit. Wenn finfo verfügbar ist, wird zusätzlich ein plausibler MIME-Typ verlangt.

Importierte Inhalte werden feldabhängig bereinigt:

Feld Verarbeitung
Titel sanitize_text_field()
Alt-Text sanitize_text_field()
Beschriftung wp_kses_post()
Beschreibung wp_kses_post()
Dateiname kontrollierte Dateinamen- und Pfadprüfung im Renamer

Vor dem Schreiben wird ein serverseitig gespeicherter Vorschauplan erneut gegen den aktuellen WordPress-Zustand geprüft. Eine veraltete Vorschau wird vor dem ersten Schreibvorgang abgebrochen.

Beim Öffnen eines Mediums erzeugt der Server einen Fingerprint des aktuellen Attachment-Zustands. Beim Speichern muss dieser Fingerprint weiterhin zum aktuellen Zustand passen. Zwischenzeitliche Änderungen werden dadurch nicht still überschrieben.

Eine Dateiumbenennung aus der Direktbearbeitung benötigt zusätzlich eine ausdrückliche Bestätigung.

Der Renamer führt vor einer Umbenennung unter anderem folgende Prüfungen aus:

  • Bild-Attachment und lokale Quelldateien müssen vorhanden sein.
  • Die Dateien müssen innerhalb des aktuellen WordPress-Upload-Verzeichnisses liegen.
  • Der neue Dateiname darf keinen Pfad enthalten.
  • Die Dateiendung muss unverändert bleiben.
  • Zielpfade dürfen noch nicht existieren.
  • Das Zielverzeichnis muss beschreibbar sein.
  • Die registrierte WordPress-Bildfamilie muss konsistent auf bekannte Dateistämme abbildbar sein.
  • Der aktuelle Zustand muss dem zuvor geplanten Rename-Zustand entsprechen.

Bei einem Schreibfehler versucht das Plugin, bereits ausgeführte Teilschritte wieder auf den Ausgangszustand zurückzuführen. Ein solcher Wiederherstellungsversuch ist kein Ersatz für ein unabhängiges Site-Backup.

Vor bestätigten Änderungen wird ein History-Eintrag mit den geplanten alten und neuen Werten gespeichert. Ein Rollback überschreibt spätere Änderungen nicht blind: Nur Zustände, die noch exakt zum erwarteten Ergebnis des ursprünglichen Vorgangs passen, sind automatisch rücksetzbar.

Weitere Details stehen unter Backups und Rollback.

Der CSV-Export schützt Zellen, deren Inhalt von Tabellenkalkulationen als Formel interpretiert werden könnte. Beim Reimport entfernt FG Media Audit nur den von diesem Export gesetzten Schutzpräfix wieder.

Die PHP-Dateien der WordPress-Runtime schützen den WordPress-Kontext mit defined('ABSPATH') || exit; beziehungsweise dem entsprechenden WordPress-Uninstall-Guard. Das separate Entwicklungswerkzeug tools/sync-fg-core.php ist als Kommandozeilen-Script ausgelegt. Zusätzlich enthalten die direkten Plugin-Verzeichnisse leere index.php-Dateien mit dem Projektkommentar silent is gold.

FG Media Audit registriert keine eigenen öffentlichen REST-Routen und keine nicht authentifizierten AJAX-Endpunkte. Das Plugin lädt seine eigenen JavaScript- und CSS-Assets nur auf der eigenen Adminseite.

Die separate, standardmäßig aktivierte FG-Core-Statusmeldung ist unter Datenverarbeitung dokumentiert.