在两个python脚本之间安全地发送信息

时间:2017-02-03 21:08:33

标签: python python-2.7 security

摘要摘要:

  • 我有两个文件:foo1.pyw和foo2.py
  • 我需要从foo1.pyw向foo2.py发送大量敏感信息,然后再返回。
  • 目前,我这样做是通过写入.txt文件,然后使用foo2.py打开它:os.system('foo2.py [text file here] [other arguments passing information]')这里的问题是.txt文件在删除时会留下痕迹。我需要将信息发送到foo2.py并返回,而不必写入临时文件。
  • 信息将是格式化文本,仅包含ASCII字符,包括字母,数字,符号,返回,制表符和空格。

如果需要,我可以提供更多细节。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果您担心的是HD上留下的痕迹,并且实时拦截不是问题,为什么不仅仅shred之后的临时文件?

或者,对于更多工作,您可以设置ramdisk并将文件保存在内存中。

执行此操作的正确方式可能是通过subprocess.Popen访问的子流程和管道。然后您可以直接在脚本之间管道信息。

答案 2 :(得分:0)

我认为最简单的解决方案是在foo2.py foo1.py内调用该函数:

# foo1.py
import foo2
result = foo2.do_something_with_secret("hi")

# foo2.py
def do_something_with_secret(s):
  print(s)
  return 'yeah'

显然,如果您想用任意可执行文件替换foo2.py,这将无法工作。

如果他们两个在不同的目录中,在不同版本的Python下运行等,这可能有点棘手。