Vorsicht
Dies ist die Dokumentation des aktuellen Entwicklungszweigs der CometVisu. Es besteht daher die Möglichkeit, dass einige der hier beschriebenen Features mit dem aktuellsten Release der CometVisu nicht genutzt werden können.
Versteckte Konfigurationen
Hintergrund
Die „Versteckten Konfigurationen“ sind Konfigurationsdaten die nicht an den Client übertragen werden und auf dem Server bleiben. Daher werden diese vor dem Anwender „versteckt“, sind aber auf dem Server selbst im Klartext lesbar. Auch im Manager sind diese Informationen im Klartext lesbar.
Dies erzeugt für sich noch keine sichere Umgebung. Jedoch lässt sich hierdurch eine sichere Umgebung aufbauen, in dem der Webserver so konfiguriert sein muss, dass der Anwender keinen Zugriff auf den Manager erhält.
Wichtig
Wenn im Rahmen des Support ein Fehler-Log an die Entwickler übergeben wird, so ist der Inhalt der versteckten Konfiguration nicht enthalten und bleiben somit auch vor den Entwicklern versteckt.
Ob und in welcher Form Widgets und Plugins Informationen aus der versteckten Konfiguration benötigen wird in deren jeweiligen Dokumentation beschrieben.
Aufbau
Die versteckten Konfigurationen werden in der Datei config/hidden.php
abgelegt. Diese Datei kann sowohl
über einen normalen Text-Editor als auch über den Manager editiert werden.
Der Inhalt besteht aus mehreren Einträgen die einen Name mit mehreren Schlüssel und Wert Paaren enthalten. In der Datei selbst werden diese Informationen als PHP Array abgelegt:
<?php
// File for configurations that shouldn't be shared with the user
$data = '{
"fritzbox": {
"uri": "https://192.168.0.1:49443/",
"user": "CometVisuTestUser",
"pass": "secret"
},
"influx": {
"uri": "https://172.17.0.1/proxy/ts/query",
"user": "docker",
"pass": "secret",
"selfsigned": "true"
},
"proxy.whitelist": {
}
}';
try {
$hidden = json_decode($data, true, 512, JSON_THROW_ON_ERROR);
} catch (JsonException $e) {
$hidden = ["error" => $e->getMessage(), "data" => $data];
}
Manager
Komfortabel lässt sich der Inhalt der versteckten Konfiguration über den Manager editieren.
Bekannte Name
Einträge
Auch wenn die Wahl für den Name
grundsätzlich frei ist, so gibt es dafür übliche Einträge, bei denen es sich
anbietet diesem Schema zu folgen. So können manche Widgets bzw. Plugins ohne eine explizite Konfiguration in dem
für dafür üblichen Namen nach Einträgen suchen, wodurch sich der Konfigurations-Aufwand reduzieren lässt.
Name |
Verwendung |
Default |
---|---|---|
fritzbox |
||
influx |
X |
|
proxy.whitelist |