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

标签 php mysql security passwords

我有一个托管在 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/

相关文章:

php - SQL UPDATE 查询因 LIMIT 1 而失败,但适用于 LIMIT 2

使用 INNER JOIN 和 LEFT JOIN 的 MySQL 查询

mysql - 将温度值集合存储到 MYSQL 中的最有效方法是什么?

mysql - 如何改进包含子查询的 SELECT 语句?

Javascript同源安全问题

javascript - 检查 javascript 函数中的 php 变量

javascript - 如何在codeigniter中显示json数据

php - 不应静态调用非静态方法 Illuminate\Support\Collection::where()

ruby-on-rails - 在 Ruby on Rails3 中使用什么验证码系统?

javascript - 跨站点脚本 (XSS) 可能吗?