--- <SHELL> --- pgp +batchmode -z "Micro $oft hilft bei Laptop-Beschwerden" -s afile --- </SHELL> ---
eine Passphrase, die kein '$oft' enthält. Logisch. Auch die var 'oft' will ich nicht wirklich da rein haben. ;-) Wie aber kann ich der shell noch mal abgewöhnen diese Zeichen zu interpretieren?
Bin zwar weder in Shell-Programmierung noch in PHP eine große Leuchte, aber spontan würde ich mal "Micro $oft hilft bei Laptop-Beschwerden" versuchen.
Genau das mach (so glaube ich ganz fest) auch addslashes(). Das funkt nicht. Ich hab's aber inzwischen, denn 'Micro $oft hilft' ... oder tut's nicht ...
Christian
Am Mon, 26. Feb 2001 09:27:57 +0100, schrieb Christian Wippermann:
Genau das mach (so glaube ich ganz fest) auch addslashes(). Das funkt nicht. Ich hab's aber inzwischen, denn 'Micro $oft hilft' ... oder tut's nicht ...
Hä? Versteh ich nicht. Gehts auch etwas genauer?
Ich glaube, Dein Problem liegt bei escapeshellcmd() die solltest Du nicht unbedingt verwenden. Stattdessen solltest Du selbst sicherstellen, dass die Eingabe keine gefährlichen Werte enthält. Vor allem würde ich nicht die gesamte Befehlszeile entschärfen, sondern nur das, wass Du da verwenden willst. Also statt system(escapeshellcmd("gpg -z 'Mikro $oft'")); würde ich
system("gpg -z '".str_replace("","\",str_replace("'","'",'Mikro $oft'))."' -s ..."); verwenden oder was noch Sichereres wie z.B. addslashes().
Eine ganz geniale Variante wäre natürlich, Du schickst das Passwort über eine Pipe. Man möge mich berichtigen, aber mir kommt das etwas sicherer vor. Da kann mein Mitbenutzer das Passwort nicht so ohne weiteres mittels "ps xa" rauskriegen.
Christian
Lug-dd maillist - Lug-dd@schlittermann.de http://mailman.schlittermann.de/mailman/listinfo/lug-dd
lug-dd@mailman.schlittermann.de