Ich baue eine CLI-APP mit PHP, in dem ich Benachrichtigungen senden muss notify-send
als root
Benutzer.PHP exec | Null-Byte-Fehler beim Versuch, DBUS_SESSION_BUS_ADDRESS zu setzen
Jetzt weiß ich, ich muss DBUS_SESSION_BUS_ADDRESS
setzen, bevor ich versuche, eine Benachrichtigung zu senden. sonst würde es nicht funktionieren.
Nun ist diese unterhalb Code:
$c = sprintf("DBUS_SESSION_BUS_ADDRESS=".$DBUS_SESSION." /usr/bin/notify-send \"TITLE\" \"MESSAGE\"");
system($c);
wirft einen Fehler
system(): NULL-Byte detektiert. Möglicher Angriff in /filepath.php auf Linie 186
aus meinem umfangreichen Debug-I $DBUS_SESSION
gefunden habe, ist das Problem verursacht. Wenn ich jedoch den $DBUS_SESSION
Wert fest codiere, funktioniert der Befehl ohne ein Problem !.
wie folgt aus:
$c = sprintf("DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus,guid=5ded8923178f8ea19642e36a5a37eb76 /usr/bin/notify-send \"sdfTITLE\" \"MESSAGE\"");
system($c);
Was ist hier los? Wie kann ich das lösen?
leider noch lösen Ich habe den gleichen Fehler. Ich denke, der Fehler ist aufgrund der Art der Zeichenfolge, die übergeben wird. Der 'DBUS' enthält etwas, das dieses Problem verursacht –