1

所以我有一个 Raspberry Pi 单元,它设置为检查 gmail 帐户,如果出现新邮件,它会通过节日大声读出。

我通过粗略的'echo "' + str(message) + '" | festival --tts'调用与 Festival 进行交互,其中消息是传入电子邮件的内容。

我猜有人可能会在该消息中发送一些讨厌的东西并破坏计算机,我想知道是否有一种好方法可以清除消息并使整个过程更安全。

我可以验证电子邮件地址,但即使在经过验证的电子邮件中,我也希望能够进行任何检查。

4

1 回答 1

1

您是否有理由必须使用 shell 来调用节日?
如果没有,请留在 python 中并为此使用 lib(例如pyfestival),因为这可能更简单,并且您没有将 shell 代码注入消息的风险。

更新:当您想通过单独的进程调用它时,请尝试使用类似的方法(虽然尚未测试)

from subprocess import Popen, PIPE
p = Popen(['festival', '--tts'], stdin=PIPE)
p.communicate(input=message)

以上是该问题答案的定制版本

于 2016-07-19T04:59:13.000 回答