我有一个托管在 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,问题是(或可能是)解释器停止解释并且文件以纯文本形式提供。
就您而言,也许这是您所能做到的:
- 将“隐藏”文件放入文件夹中,并防止使用 .htaccess 和其他 Apache 指令访问该文件夹。实际上,将其放在单独的文件夹中并不遥远(因为 Apache 及其配置正在为您管理安全性)。
和:
- 删除在您使用的本地计算机/IP 地址之外访问 MySQL 服务器的能力。我不确定您是否可以与您的托管提供商一起执行此操作(或者您可以在多大程度上单独列出自己)
关于php - 如何解决共享主机上 PHP/MySQL 中的 CWE-259(硬编码密码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29334615/