Дешифляция PHP / GNUPG - синтаксическая ошибка?

StackOverflow https://stackoverflow.com/questions/2878834

  •  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..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top