【问题标题】:Beginner PHP learner trying to use Salt encryption初级 PHP 学习者尝试使用 Salt 加密
【发布时间】:2016-09-17 00:49:53
【问题描述】:

我正在尝试编写一个 PHP 登录脚本,并注意到以纯文本形式存储我的数据库密码并不安全。我的 connect.php 文件安全吗?如何在下面的 connect.php 文件中使用盐加密?

感谢和抱歉一个基本问题,我对 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");

?>

【问题讨论】:

  • 你没有也不会散列你的源代码:)
  • 如果“盐加密”是指“在散列密码时使用盐”,指的是任何用户密码,而不是数据库连接

标签: php salt


【解决方案1】:

我的 connect.php 文件安全吗?

在某种程度上——是的。

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

您不能对 connect.php 使用任何“盐加密”。保持原样。

【讨论】:

    【解决方案2】:

    首先,我建议研究几篇关于加密、散列和加盐的文章,以大致了解它的作用和不作用。

    维基百科并不全知,但那里的文章涵盖了最相关的部分。

    php 脚本的密码通常不加密。最佳做法是将其存储在单独的配置文件中(例如 config.php)。这样,由您的系统管理员来确保这一点。这不仅有助于您的安全,而且这样的外部配置文件可以更轻松地移植应用程序。大多数主要的 php 应用程序,来自论坛引擎、CMS、日历等,都使用这种架构。

    【讨论】:

      【解决方案3】:

      它是安全的。
      这取决于您的托管服务提供商及其设置。
      对于安全项目,我建议至少使用 VDS。

      【讨论】:

        【解决方案4】:

        也许是一个额外的答案。是的,据我所知,除了以明文形式存储数据库连接凭据之外,没有其他方法可以存储数据库连接凭据。

        也许您可以使用加密方案加密您的凭据,但如果攻击者可以访问您的文件(和您的加密方案),他们可以轻松解密您的加密凭据。

        您的connect.php 是安全的,只要您保护它。一些建议:

        • 将您的connect.php 放在网络服务器的根目录之外(您仍然可以从任何其他脚本中包含它)以防止来自 HTTP 的访问
        • 保留 php,不要将文件重命名为任何其他扩展名,以便网络服务器将其作为可视文本文件提供服务
        • 如果您愿意,可以使用一些 .htaccess 规则保护您的 connect.php

        【讨论】:

          【解决方案5】:

          我的 connect.php 文件安全吗?

          您可能想用 ioncube 加密您的 connect.php...http://www.ioncube.com/...因为它仍然可以保护。

          我喜欢在我的 .htaccess 中添加这样的东西:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-09-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-14
            • 1970-01-01
            • 2010-09-15
            • 1970-01-01
            相关资源
            最近更新 更多