数据库连接密码加密?

DB connect password encryption?

愚蠢的问题,但我以前只在 Xampp 中编写过数据库,所以黑客攻击不是问题...

我想连接到我的数据库并在网页上显示其中的数据。

$username = "user";
$password = "password???";
$hostname = "host.name";

//db connection
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Can't connect");
echo "Connected to MySQL<br>";

我不太确定是否要在线公布我的数据库密码;我猜我可以用一些东西加密它(我以前只用过 md5,现在我发现这不是一个有效的方法)。

有人可以在这里发光吗?我已经搜索了一个小时,但似乎找不到太多内容。

您可以使用环境变量或只包含一个 config/constants 文件来执行此操作,然后您可以将您的配置设置与您的主要来源隔离开来。

环境变量

http://php.net/manual/en/function.getenv.php

Config/Constrains

<?php
    // require 'constants.php'
    define("DB_USER", "user");
    define("DB_PASS", "password");
    define("DB_NAME", "database");

http://php.net/manual/en/function.define.php

我不会加密你的数据库值。

以纯文本形式存储密码确实没有问题,因为 PHP 代码对用户不可见。除非存在安全漏洞,否则未经授权的数据库访问将是最小的问题,您真的不需要打扰。

但是,我强烈建议 unset() 不再需要包含敏感数据的变量。这消除了潜在信息泄露的风险,例如,不安全的模板呈现。