2011-12-24 34 views
0

我有一個php頁面(只有一頁 - 包括安全信息和驗證),我想創建一個加密,實際上在這種情況下,我沒有任何數據庫來保存數據,所以我必須把用戶名和密碼本身!如何用PHP加密這個文件?

的問題是我怎麼可以加密或隱藏用戶名,並通過在這個文件中,以及如何檢查登錄驗證?

此頁面一定是非常安全的,直到如果它丟失,他們不能訪問它?

我檢查用戶名密碼& MD5的方法,但我怎麼可以將其隱藏在文件:(

請幫助我,因爲這是對我很重要! 非常感謝......

+0

md5不加密。 – ceejayoz

+0

MD5是散列算法 –

回答

1
  1. 存儲的用戶名/在PHP文件內的變量/陣列密碼。只有能夠訪問你的服務器的人可以看到用戶名即可。
  2. 一個奇怪的文件名與散列算法一起存儲在一個文件中的信息+鹽也一種可能性使用.htaccess來確保沒有人能夠實際訪問它,從而進一步提高安全性。

不要用它來保護重要的東西,因爲它不是一個很好的方法。

+2

@Mike Redford Nope,這是不可能的。您必須在某處獲取信息,即使您正在使用數據庫,您仍然必須指定數據庫憑據,服務器人員可以訪問它們。不過,您的主機可能會闖入您的服務器的可能性非常低。 – Zar

+1

@MikeRedford,不,你應該選擇一種哈希算法。離開md5,嘗試sha512/sha2或類似的。不要忘記加密密碼(預先加入/附加數據到被散列的字符串,想:saltPASSWORDsalt) – Zar

+2

@MikeRedford,簡單地解釋一下,你將一些數據添加到原始字符串中。 'sha1(密碼)'可能會導致'sha1(salt。password。salt)'。這樣您就不能使用字典來輕鬆地將哈希轉換爲原始字符串。 – Zar

2

硬編碼在PHP文件的密碼是不本身一個巨大的安全問題,因爲有人需要訪問的PHP文件反正來閱讀:如果有人獲得了你的PHP文件的訪問,你將有一個比你丟失的密碼更大的問題。

然而,要避免:

  1. 以明文存儲密碼,保存哈希來代替。
  2. 存儲在JS文件中的密碼,爲的JS文件的來源是由客戶端訪問

有不同類型的散列的,我會建議不要使用MD5,特別是如果你的密碼不是很複雜。像this這樣的站點擁有MD5哈希數據庫,因此您的哈希可能很容易被破解。 使用更安全的東西,比如SHA256。

注:顯然誰擁有服務器具有文件和數據庫的物理訪問,但如果你存儲的散列你應該罰款。如果你真的擔心擁有服務器的人看看你的「安全」東西的可能性,你不應該使用共享服務器作爲開始。

+0

rep ++,非常感謝,非常好! – Freeman