2014-08-28 82 views
0

我的工作我自己的一个小项目,我使用Selenium登录到一个网站,目前我有我的用户名和密码在.py文件的硬编码。我面临什么样的风险?我是唯一一个有权访问此文件的人,并且它只会存储在此计算机上。风险,以登录到网站

我只能想到我的密码处于危险之中,如果我得到一个病毒/有我的电脑黑客攻击。

回答

3

第一条规则每个I.T.知道。 “安全”是一种心态。 没有绝对的安全。 所以这取决于。 您有更新并正在运行的反病毒吗? 简单的问题吧?

您的反病毒能够检测威胁并保护您吗? 棘手的问题?假设是...

在您的操作系统中是否有零日攻击? 那么这里是一个问题,你不能回答......

所以硬编码密码从来都不是一个很好的做法。 但是最重要的是在完成项目后更改它(删除合并版本)。

你的问题是一个巨大的话题。

为了保持简单,您绝对不会100%安全。好吧? 因此被黑客攻击或感染病毒确实足够了。

真正的问题是,这是一个安全问题,你必须是一个疯子? 您是否因某种原因必须保持此密码的安全性? 如果是,那么......不要硬编码。

如果您不是偏执这个项目的安全性,干脆不要忘记删除这些密码,取出一个硬编码也做出了新的密码访问。

我希望这对你有所帮助。

1

有一个简单的方法可以使硬编码密码更安全。不是直接将它存储在源代码中,而是首先计算一个散列并仅将该散列存储在源代码中。

这是存储密码标准的做法,甚至如果有人可以阅读源代码,他无法看到明文密码,他必须首先破解它。要计算哈希值,您应该遵循与将它们存储在数据库中相同的规则,但更喜欢使用像BCrypt或PBKDF2这样的成本因子的慢哈希算法。

+0

当你说“数据库”是什么意思?这是否意味着在我的电脑上的另一个文件中存储真正的密码,然后比较它的散列?我试着寻找关于如何使用散列密码登录但没有成功的教程/指南。如果密码未在脚本中硬编码,我怎样才能将密码发送到网站登录?我不必“解开”散列密码,这将首先破坏哈希的目的。 – 2014-08-29 23:34:11

+0

问题是,我需要将此硬编码密码发送到诸如gmail等网站才能登录并访问电子邮件。因此,我无法发送散列值。 – 2014-08-30 00:44:34

+0

我想出了一个新的解决方案,我决定只是每次运行脚本时输入它,看我的帖子http://stackoverflow.com/questions/25579317/tkinter-binding-and-get-issues/25580656#25580656 。尽管我仍然很好奇如何用你的方法使用哈希来完成它。 – 2014-08-30 08:57:48