出于安全目的,将 os.system 替换为 os.popen
Replace os.system with os.popen for security purposes
是否可以使用os.popen()
来获得类似于os.system
的结果?我知道 os.popen()
更安全,但我想知道如何通过此函数实际 运行 命令。使用 os.system()
时,事情会变得非常不安全,我希望能够以安全的方式访问终端命令。
任何使用 shell 来执行命令的东西都是不安全的,原因很明显(你不希望 运行 rm -rf /
在你的 shell :) 中。 os.system
和 os.popen
都使用 shell.
为了安全起见,请将 subprocess
模块与 shell = False
一起使用
无论如何,自 Python 2.6
以来,这两个函数都已被弃用
是否可以使用os.popen()
来获得类似于os.system
的结果?我知道 os.popen()
更安全,但我想知道如何通过此函数实际 运行 命令。使用 os.system()
时,事情会变得非常不安全,我希望能够以安全的方式访问终端命令。
任何使用 shell 来执行命令的东西都是不安全的,原因很明显(你不希望 运行 rm -rf /
在你的 shell :) 中。 os.system
和 os.popen
都使用 shell.
为了安全起见,请将 subprocess
模块与 shell = False
无论如何,自 Python 2.6
以来,这两个函数都已被弃用