2014-08-28 66 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