Ich habe vor dem Update auf V7, einige Scripte die im (alten) User-Verzeichnis lagen,
aus der Verwaltungskonsole editieren können. Da sich der Pfad zum User-Verzeichnis geändert hat,
ist dies nun nicht mehr möglich.
![image](https://community.symcon.de/uploads/default/original/3X/0/e/0e0c019e1655ded590452d9bfd3c91ab8bf37694.png)
Habe es zumindest nicht geschafft den Pfad entsprechend anzupassen.
![image](https://community.symcon.de/uploads/default/original/3X/2/e/2ecad2ee3181e192115c84264fc1e419db6fec1b.png)
Damit kannst du sie wieder gerade biegen:
Michael
Danke Michael, für den Tipp, werde ich gleich mal versuchen…
Es funktioniert nicht so, wie ich mir das vorstelle.
Egal mit welchem Script ich es versuche,
IPS_SetScriptFile($ScriptID, IPS_GetKernelDir().'user\\'.$ScriptName);
Bringt mir immer die Fehlermeldung, dass die Datei nicht gefunden wird.
Warning: Datei #C:\ProgramData\Symcon\user\html_head.php existiert nicht in C:\ProgramData\Symcon\scripts\28323.ips.php on line 20
Sie ist aber exakt an dieser Stelle:
C:\ProgramData\Symcon\user>dir html_head.php
Datenträger in Laufwerk C: ist System
Volumeseriennummer: EEFE-001B
Verzeichnis von C:\ProgramData\Symcon\user
06.12.2023 12:26 3.135 html_head.php
1 Datei(en), 3.135 Bytes
0 Verzeichnis(se), 31.553.593.344 Bytes frei
IPS_GetKernelDir();
bringt bei mir folgende Ausgabe:
C:\ProgramData\Symcon\
Wo ist denn hier der Fehler?
Deine Pfade oben waren doch relativ. Damit schon versucht?
Weil in der Doku ist der Pfad auch immer relativ zu scripts
Also:
IPS_SetScriptFile($ScriptID, '../user/'.$ScriptName); // Kein Backslash, weil das bei non windows Probleme verursacht
Michael
Obwohl der Pfad in der Fehlermeldung ja richtig ist:
Warning: Datei #C:\ProgramData\Symcon\user\html_head.php existiert nicht
bringt mir aber
IPS_SetScriptFile($ScriptID, '../user/html_head.php');
jetzt das gewünschte Ergebnis.
Komisch, warum es nicht mit dem Absoluten Pfad durch IPS_GetKernelDir() funktioniert.
Danke für den Tipp!
Weil die Funktion nur relative Pfade akzeptiert, weil du eigentlich nur ab /scripts in weitere Ordner gehen darfst.
Im Endeffekt ist das eine, eventuell auch sicherheitskritische, Schwachstelle das man mit …/ auch nach oben wechseln kann.
So könntest du jetzt über die Konsole beliebige Datei auf deinem Host-System verändern, zumal der Dienst ja meistens mit höheren Rechten läuft.
Michael
OK, jetzt hab ich’s auch in der Doku gelesen:
Dateiname Dateiname des PHP Skripts (relativ zum “/scripts” Ordner)
Dann hoffe ich mal, dass die Funktion so bleibt wie sie ist. Ich habe etliche Scripts im User-Verzeichnis und es ist sehr praktisch, diese auch über die Konsole verwalten zu können.