Php 从单独的文件读取MySQL密码
我试图在PHP源代码中混淆MySQL密码,因为它在Github上公开显示。以下是我所做的:Php 从单独的文件读取MySQL密码,php,security,github,Php,Security,Github,我试图在PHP源代码中混淆MySQL密码,因为它在Github上公开显示。以下是我所做的: $pword = file_get_contents('../.brown_bag'); $obj->password = $pword; 这不起作用,我收到一个拒绝访问错误。文件.brown\u bag,只包含一行,其中只有一个字母字符串。我很确定file\u get\u contents()没有返回我期望的数据。我试图编写简洁、简单的代码,因此避免了整个fopenrigmarole。为什么这样
$pword = file_get_contents('../.brown_bag');
$obj->password = $pword;
这不起作用,我收到一个拒绝访问错误。文件
.brown\u bag
,只包含一行,其中只有一个字母字符串。我很确定file\u get\u contents()
没有返回我期望的数据。我试图编写简洁、简单的代码,因此避免了整个fopen
rigmarole。为什么这样不行,还有更好的办法吗 您的代码看起来不错。唯一可能的问题是,文件路径不正确。为了确保这一点,请给出文件的绝对路径,如(C:\a\b\C.brown\u bag或/home/user/.brownbag)
如果以上工作正常,您将确定其路径问题。如果没有,则会出现确切的错误,它会通过一些调试报告什么
更好的方法是:密码应该总是放在配置文件中。配置文件是在git上提交的文件,直到有一些更改。应在本地编辑配置文件以获取密码。但是,我假设您正在使用.brown\u bag作为配置文件。不过我还是会建议一些更好的命名约定。更好的方法是,将配置文件设置为php文件,并将密码定义为数组或常量,或者只在配置文件中定义密码。至于为什么它不起作用,您是否尝试过回显从文件中读取的值?它可能像空格或新行一样简单,因此您可以尝试:
$obj->password = trim($pword);
另一种方法是只向github添加一个示例配置文件,而不是真正的配置文件,例如只添加带有空值或示例值的
config.php.example
。您确定要打开的文件在您认为的位置吗?使用绝对路径进行尝试,看看是否有效?将密码推送到github时,只需将其保留为空。andrewsi是的,我可以从该文件中回显密码。Louis我不希望每次提交时都删除密码。另一种方法是只向github添加一个示例配置文件,而不是真正的配置文件,例如,只需添加带有空值或示例值的config.php.example
。这是完整的警告:code
warning:mysql_connect()[function.mysql connect]:用户'wurkhith_admin'@'espressobuild.com的访问被拒绝(使用密码:YES)第163行的in/home/shakabra/noel.wurkinth.us/admin/inc/common.php无法连接。用户“Wurkhith_admin”@'espressobuild.com(使用密码:是)的访问被拒绝。谢谢。我没有尝试修剪的想法。我只是使用了示例配置。