繁体   English   中英

在 Python 中禁用 subprocess.Popen 回显到命令提示符窗口标题

[英]Disable subprocess.Popen echo to command prompt window title in Python

我正在尝试使用 Python 的subprocess.Popen为 Python 绑定到命令行界面构建一个模块; 就 CLI 绑定而言,几乎就在那里,但我真的希望能够掩盖一些“私人”论点。

CLI 使用帐户信息,我想在命令提示符标题中隐藏帐户凭据。 下面是我对 CLI 绑定类使用login方法时出现的屏幕截图。

提示标题中的“私人”凭据信息。

我知道我在这里使用纯文本作为密码( 'TAIL' ),但我想简单地展示正在发生的事情的用法。 从图像中可以看出,使用 subprocess.Popen “发送”的完整命令显示在提示的标题中。

我最近发现有一种方法可以使用osctypes以编程方式更改标题,因此我可以有效地屏蔽或掩盖我不想在命令提示符标题上显示的“私有”凭据,如下所示:

(如图所示)

但有与禁用“回波到标题”(由于没有一个更好的名字)的一个更好的办法subprocess.Popen

事实上,密码永远不应该作为命令行参数传递给可执行文件。

原因:

任何能够查看正在运行的进程及其参数的人都可以看到密码。

一种解决方案是,父进程。 将密码放在环境变量中,要调用的程序从环境变量中获取参数。

所以调用者会是这样的:

import os

os.environ["ACRTAC_PASSWORD"] = "TAIL"
subprocess.Popen([...])

和 acrtac.py

import os
password = os.environ["ACRTAC_PASSWORD"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM