DB连接密码加密


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,我现在发现这不是一种有效的方法)。

谁能把灯照过来?
我已经找了一个小时了,似乎什么也没找到。

你可以使用环境变量或者只是包含一个配置/常量文件来做到这一点,然后你可以将你的配置设置从你的主源代码中隔离出来。

环境变量http://php.net/manual/en/function.getenv.php

配置/限制

<?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()变量后使用它们。这消除了潜在的信息泄漏的风险,例如,不安全的模板呈现。