0

我试图在我的 PHP 源代码中混淆 MySQL 密码,因为它在 Github 上公开显示。这是我所做的:

$pword = file_get_contents('../.brown_bag');
$obj->password = $pword;

这不起作用,我收到拒绝访问错误。文件 ,.brown_bag仅包含一行,其中包含仅由字母组成的字符串。我很确定file_get_contents()没有返回我预期的数据。我试图编写简洁、简单的代码,因此避免了整个fopen繁琐的过程。为什么这不起作用,有没有更好的方法?

4

2 回答 2

0

你的代码看起来不错。唯一可能的问题是,文件路径不正确。为确保这一点,请给出文件的绝对路径,例如 (C:\a\b\c.brown_bag 或 /home/user/.brownbag)

如果上述工作,您将确定它的路径问题。如果没有,请提供确切的错误,它通过一些调试报告。

更好的方法:密码应始终放在配置文件中。配置文件是在有一些更改之前不会在 git 上提交的文件。配置文件应在本地编辑以获取密码。但是我假设您使用 .brown_bag 作为配置文件。我仍然会建议一些更好的命名约定。更好的是,将配置文件制作为 php 文件并将您的密码定义为数组或常量,或者简单地在配置文件中定义它。

于 2012-09-11T15:21:15.197 回答
0

至于为什么它不起作用,您是否尝试过回显从文件中读取的值?它可能像空格或换行一样简单,因此您可以尝试:

$obj->password = trim($pword);

另一种方法是将示例配置文件添加到 github 而不是真实的,例如只添加config.php.example空值或示例值。

于 2012-09-12T14:21:21.510 回答