【发布时间】:2018-09-02 14:33:10
【问题描述】:
我在隐藏 PHP 类所需的数据库凭据时遇到了很多问题。到目前为止,推荐的“解决方案”都没有奏效。
1) PHP 手册建议将凭据保存在不同的文件中:检查! 我所有的 PHP 数据库类都从不同的文件插入凭据。
典型的数据库类
class database{
private static $dbc = null;
public static function get($page,$component = null){
if(self::$dbc === null) {
$root = $_SERVER['DOCUMENT_ROOT'];
$path = '/some path/';
$file = 'pdo.php';
require( $root . $path . $file );
}
...more code...
凭据文件
$dbhost = 'some.host';
$dbname = 'someDBname';
$dbuser = 'someUser';
$dbpass = 'somePassword';
2)尽管如此,我将所有信息保存在网络主机中的文件,可以被嗅探或找到。
我怎样才能隐藏这个包含数据库信息的文件,以便拥有一个真正安全的网站和数据库?
【问题讨论】:
-
“文件可以被嗅探或找到”——由谁以及如何发现?
-
最终,服务器的 PHP 进程可以访问凭据具有。在您信任的主要提供商的非共享主机(VPS、专用服务器等)上托管。
-
我们不知道你读到的
recommended solutions是什么。您可以添加您尝试过的内容吗?我会将文件移到 Web 可访问目录之外。 -
答案很简单:不要将文件放入您的
DOCUMENT_ROOT!事实上,您应该将 大部分 PHP 文件放在文档根目录之外。
标签: php web-hosting document-root