SQL-Ausführung und Wartung: Prüfschranken, Rückgängig-Protokoll, Bereinigung
Regeln der Lese- und Änderungsschranke der SQL-Ausführung, das Rückgängig-Protokoll, gespeicherte Abfragen und Protokollierung sowie Schritte und Schutzmechanismen beim Leeren von Cache und temporären Dateien.
SQL-Ausführung und Wartungs-Leeren sind technische Werkzeuge des Hauptadministrators. Jeder Endpunkt ist ausschließlich durch isSuper() geschützt; den Katalogschlüssel system/sqlrunner + list prüft der Controller nicht, seine Vergabe gewährt keinen Zugriff.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Tabelle | Rolle |
|---|---|
sqlrunner_query | gespeicherte Abfragen (Name, Text) |
sqlrunner_undo | Rückgängig-Protokoll: Tabelle, betroffene Zeilen, ursprüngliche Werte, Status (angewendet, wiederhergestellt) |
Lesen aus beliebigen Tabellen; Änderungen nur an Tabellen mit dem Präfix der Installation.
Prüfschranken
sqlrunner.run, Leseschranke: Kommentare entfernt, verbotene Schlüsselwörter, Mehrfachanweisungen abgelehnt; erlaubt:SELECT,WITH,SHOW,DESCRIBE,EXPLAIN; erzwungene Grenze von 500 Zeilen; Ergebnisliste und vollständiges kopierbares Ergebnis.- Änderungsschranke (
UPDATE): eine Tabelle mit Installationspräfix, Pflicht-WHERE, einfache SET-Spalten, höchstens 2000 Zeilen. Ohne Bestätigung nur Zählung; mitconfirm=1Sicherung der Originalwerte in einer Transaktion und Ausführung; Erfolg mit zurückgelesenem Rückgängig-Eintrag. sqlrunner.undolist(50 Einträge),sqlrunner.undorestore: nur aktive Einträge; seitdem geänderte oder gelöschte Zeilen werden genannt.sqlrunner.queries,savequery(neu oder überschreiben, mit Zurücklesen),deletequery.
Jeder Lauf, erfolgreich oder abgelehnt, landet im Systemprotokoll und im Fehlerprotokoll des Frameworks; Änderungen mit maskierter Anweisung.
Wartungs-Leeren
maintenance.clear (Besen der Kopfzeile, nur isSuper(), ohne eigenen Schlüssel):
- Framework-Cache, Vorlagen-Cache, Abfrage-Cache-Dateien, OPcache;
- temporäre Dateien des Moduls und Arbeitsordner der Sicherungen: nur Dateien älter als 6 Stunden; Teildateien offener Uploads und das Arbeitsverzeichnis laufender iPhone-Sicherungen sind geschützt (die Schutzliste liefert das Modell
backup/iphonebackup); ist die Schutzliste nicht abfragbar, wird nichts bereinigt.
Antwort: entfernte Anzahlen, freigegebene Bytes, behaltene Dateien; eine Protokollzeile.
Berechtigungen
Nur Hauptadministrator; andere Benutzer erhalten bei der SQL-Ausführung die Seite ohne Berechtigung. Auch der Menüpunkt ist nur für den Hauptadministrator sichtbar.