将用户输入传递给节日

时间:2016-07-19 04:29:54

标签: python email security festival

所以我有一个Raspberry Pi设备,用于检查Gmail帐户,如果出现新邮件,它会通过节日大声朗读。

我通过粗略的'echo "' + str(message) + '" | festival --tts'电话与Festival互动,其中message是收到的电子邮件的内容。

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

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

1 个答案:

答案 0 :(得分:1)

您是否有必要使用shell来调用节日? 如果没有,只需保持在python中并使用lib(例如pyfestival),因为这可能更简单,并且您不会有人在邮件中注入shell代码的风险。

更新:正如你想通过一个单独的过程调用它,尝试使用类似的东西(虽然没有测试)

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

以上是该question的答案

的自定义版本