我试图在我的PHP源代码中混淆MySQL密码,因为它在Github上公开显示。这是我做的:
$pword = file_get_contents('../.brown_bag');
$obj->password = $pword;
这不起作用,我收到拒绝访问错误。文件.brown_bag
仅包含一行,其中只包含字母串。我很确定file_get_contents()
没有返回我预期的数据。我试图编写简洁,简单的代码,因此避免了整个fopen
条件。为什么这不起作用,有更好的方法吗?
答案 0 :(得分:0)
您的代码看起来很好。唯一可能的问题是,文件路径不正确。为了确保这一点,给出文件的绝对路径,如(C:\ a \ b \ c.brown_bag或/home/user/.brownbag)
如果以上工作,您将确定其路径问题。如果没有,请提供确切的错误,通过一些调试报告的内容。
更好的方法:密码应该始终放在配置文件中。配置文件是在有一些更改之前未在git上提交的文件。应在本地编辑配置文件以获取密码。但是我假设你使用.brown_bag作为配置文件。我仍然会建议一些更好的命名约定。更好的是,将配置文件设置为php文件并将密码定义为数组或常量,或者只需在配置文件中定义它。
答案 1 :(得分:0)
至于为什么它不起作用,你试过回显从文件中读取的值吗?它可能像空格或换行一样简单,所以你可以尝试:
$obj->password = trim($pword);
另一种方法是将示例配置文件添加到github而不是真实的配置文件,例如只添加带有空值或示例值的config.php.example
。