2012-02-13 31 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>