【发布时间】:2022-09-23 20:52:01
【问题描述】:
这是我的代码:
import os
def main():
g = input(\"What\'s the password?\\n\")
if g == os.environ[\'master-password\']:
for name, value in os.environ.items():
if name == \"master-password\":
break #obviously just ends the program
else:
print(\"{0}: {1}\".format(name, value))
main()
我想跳过主密码,以免泄露。 我想要这个的原因是我正在使用 replit
-
Break 存在循环,而不是结束程序。碰巧你的程序在循环之后什么都不做。
-
任何运行脚本的人都可以看到它接收到的环境。如果他们想查看主密码,他们可以。
-
@chepner 这看起来像一个玩具程序,所以这可能不是重点。此外,谁知道呢,OP 可以在他们控制的容器中运行它,标准输入/标准输出连接到 TTY 或诸如此类的东西。
-
尽管如此,如果用户可以从
os.environ读取它,这意味着它不是一个秘密值。 -
@matszwecja 那是...题外话。用户也可以修改此脚本以不进行检查。
标签: python