2012-06-06 39 views
-1

如果我在我的服務器根存儲了一組登錄憑證,如果我只是將它存儲在PHP文件中,是否存在任何安全風險?PHP在服務器根目錄中存儲密碼

$user = 'user'; 
$password = 'password'; 

我保存的登錄憑據一個頁面,在我的網站鎖定的內容,用戶必須點擊一個鏈接來接收,櫃面你想知道。當用戶登錄時,我可以像這樣授權登錄,對吧?

include('../logininfo.php'); 
if ($_POST['user'] == $user) { 
//...etc 

這種方法有什麼問題嗎?

+0

很糟糕的網絡做法,而不是使用MySQL來存儲數據庫中的密碼它更好的安全然後對不起 – sohaan

回答

8

是的,你應該避免這樣做。有一種可能性(我從經驗中談到)你的虛擬主機可能搞砸了,並開始以純文本方式提供PHP文件而不是執行它們。

您應該將證書文件放置在Web根目錄之外。您仍然可以包含它,但不會通過瀏覽器提供。

如果您位於不允許您訪問Web根目錄之外的共享Web主機上,請將憑證文件置於其自己的目錄中,並使用.htaccess文件阻止訪問該目錄。請參閱此處以執行此操作的步驟:Deny direct access to PHP file

事實上,您應該使用MySQL數據庫來存儲用戶名和散列密碼超出了此答案的範圍。我會認爲你有充分的理由去做你正在做的事情。

+0

啊,好的。謝謝。 – Norse

2

只要沒有人訪問您的服務器,我認爲沒有任何風險。但我會推薦哈希您的密碼!