如何在共享主机上解析 PHP/MySQL 中的 CWE-259(硬编码密码)?

How to resolve CWE-259 (hard-coded password) in PHP/MySQL on shared hosting?

我在 GoDaddy 上托管了一个 PHP/MySQL 网站。我正在尝试从站点中删除所有安全漏洞。

要连接到我的数据库,我有一个 "Connect.php" 文件,我将其包含在所有必要的 PHP 文件中。它由以下代码组成:

<?php
//Connect To Database
$hostname='xyz.hostedresource.com';
$username='username';
$password='password';
$dbname='dbname';
?>

我知道解决硬编码密码问题的一个常见修复方法是将密码存储在 webroot 文件夹之外的配置文件中。但是,使用 GoDaddy 共享主机,我无权访问 webroot 文件夹之外的任何内容。在这种情况下,有人有解决此 CWE 的建议吗?

对于 PHP,问题是(或可能是)解释器停止解释并且文件作为纯文本提供。

对于你的情况,也许这是你能做到的:

  • 将 'hidden' 个文件放入一个文件夹,并使用 .htaccess 和其他 Apache 指令阻止对该文件夹的访问。将它放在单独的文件夹中实际上并不遥远(因为 Apache 及其配置以任何一种方式为您管理安全性)。

和:

  • 删除 MySQL 服务器在您正在使用的本地 machine/IP 地址之外被访问的能力。我不确定您是否可以通过您的托管服务提供商来做到这一点(或者您可以在多大程度上独立出来)