2012-02-13 97 views
1

我試圖放在一起的PHP登錄腳本,並已注意到以純文本格式存儲我的數據庫paswords是不安全的。我的connect.php文件是否安全?我如何在下面的connect.php文件中使用salt加密?初學PHP學習者嘗試使用Salt加密

感謝和抱歉的一個基本問題,我對PHP仍然很陌生。

<?php 

if(!defined('INCLUDE_CHECK')) die('You are not allowed to execute this file directly'); 


/* Database config */ 

$db_host  = 'localhost'; 
$db_user  = 'randomuser'; 
$db_pass  = '123456'; 
$db_database = 'randomdatabase'; 

/* End config */ 



$link = mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection'); 

mysql_select_db($db_database,$link); 
mysql_query("SET names UTF8"); 

?> 
+1

你沒有,也不會如果「鹽加密」你的意思是「使用鹽散列源代碼:) – 2012-02-13 06:33:36

+0

同時對密碼進行哈希處理「,這是指任何用戶密碼,而不是數據庫連接 – 2012-02-13 06:50:04

回答

2

是我的connect.php文件安全嗎?

在某種程度上 - 是的。

如何在下面的connect.php文件中使用salt加密?

你不能對你的connect.php使用任何「鹽加密」。只是保持原樣。

0

首先,我建議研究一些關於加密,散列和醃製的文章,以獲得它在做什麼和不做什麼的總體感受。

維基百科不知道這一切,但文章在那裏涵蓋了最相關的部分。爲PHP腳本

密碼通常不加密。最佳做法是將其存儲在單獨的配置文件(p.e.config.php)中。這種方式取決於您的系統管理員來確保這一點。這不僅有助於您的安全性,這樣的外部配置文件可以更輕鬆地移植應用程序。大多數主要的PHP應用程序,從論壇引擎,CMS,日曆或其他,都使用這種架構。

0

它很安全。
這取決於您的託管服務提供商和它的設置。
對於安全項目,我建議至少使用VDS。

0

也許一個額外的答案。是的,據我所知,除了以純文本形式存儲數據庫連接憑據外,沒有其他方式可以存儲數據庫連接憑證。

也許您可以使用加密方案加密您的憑證,但是如果攻擊者能夠訪問您的文件(以及您的加密方案),他們可以輕鬆解密您的加密憑證。

只要您保持安全,您的connect.php就是安全的。幾點建議:

  • 把你connect.php之外的web服務器的根目錄下(你仍然可以從任何其它腳本包括它),以防止HTTP
  • 訪問保持它php,不重命名文件到任何其他的擴展,將通過服務器充當了可視文本文件
  • 如果你願意,你可以保護你的connect.php一些.htaccess規則
0

我的connect.php文件是否安全?

你可能想加密你的connect.php與ioncube ... http://www.ioncube.com/ ...它仍然可以保護它。

我喜歡在我的.htaccess添加的東西是這樣的:

<files connect.php> 
order allow,deny 
deny from all 
</files>