Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从单独的文件读取MySQL密码_Php_Security_Github - Fatal编程技术网

Php 从单独的文件读取MySQL密码

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。为什么这样

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

$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(使用密码:是)的访问被拒绝。谢谢。我没有尝试修剪的想法。我只是使用了示例配置。