我有一個小的CF9應用程序,沒有涉及數據庫。在配置中,我需要存儲一個網絡密碼,其中一個功能需要,但我不希望以人類可讀形式將其存儲在Application.cfc中(例如)。ColdFusion 9,祕密設置
存儲/讀取密碼的最佳方式是什麼?
我有一個小的CF9應用程序,沒有涉及數據庫。在配置中,我需要存儲一個網絡密碼,其中一個功能需要,但我不希望以人類可讀形式將其存儲在Application.cfc中(例如)。ColdFusion 9,祕密設置
存儲/讀取密碼的最佳方式是什麼?
步驟1:在網頁中是不會投入生產,運行:
<cfoutput>#hash('My_pa55w0rd')#</cfoutput>
,將顯示密碼的哈希值。
第2步:在要投入生產的網頁上,將散列添加到變量中,例如application.pass_hash
。根據需要對照pass_hash
進行驗證。
<cfif hash(form.password) EQ application.pass_hash>
<p>Successful login!</p>
</cfif>
這聽起來不像用戶輸入密碼,但如果他們是,那麼這是最好的解決方案。 –
如果您在源代碼中擁有密碼的哈希版本,那麼它如何用於身份驗證? –
我們可以知道密碼與代碼中沒有原始密碼的情況相匹配 –
如果你沒有數據庫,那麼我會建議至少加密密碼,但是如果代碼中的一切都在代碼中,任何人都可以找出密碼。 –
這可能會給你一些想法。 http://niallodoherty.com/assets/content/enclosures/Documents/Sourceless%20Deployment%20of%20ColdFusion.pdf –