Дешифляция PHP / GNUPG - синтаксическая ошибка?
-
04-10-2019 - |
Вопрос
Я использую PHP, чтобы вызвать GPG, но я получаю ошибку трубы. Я думал, что если я прочитал пароль из файла, я мог бы затем трусить его в самой команде? Но я продолжаю получать: синтаксическую ошибку: "|" непредвиденный
Вот код:
(ПРИМЕЧАНИЕ. Файлы ведутся на петлей Foreach ...)
foreach($files as $k => $v) {
$encrypted = $v;
$filename = explode('.',$v);
$decrypted = $filename[0].'.txt';
shell_exec("echo $passphrase | gpg --no-tty --passphrase-fd 0 -o $decrypted -d $encrypted");
}
Решение
Может быть, вы можете распечатать строки вместо этого, а затем запустить их в терминале, чтобы увидеть, действительно ли они работают, как ожидалось. Может быть, есть какой-то странный символ на вашем входе, который необходимо избежать, и, пожалуйста, поместите ваши переменные PHP в кавычках, имена файлов пробелов могут быть опасной. Видеть escapeshellarg. а также escapeshellcmd..
Не связан с StackOverflow