隐藏'connect.php'文件密码的最常用方法是什么?

Rya*_*ard 10 php mysql encryption passwords password-protection

随着我的服务器变得越来越大,越来越多的用户可以访问它,我不希望他们看到MySQL用来连接PHP的密码,这些密码存储在我的'connect.php'文件中并且需要每页.但是,它只是与其他php文件位于同一目录中.

我已经考虑使用第二个'connect.php'类文件,只能访问一个表,它存储加密的密码以连接到MySQL,但是我会遇到隐藏密钥的问题.

更改权限也不起作用,如果您chmod o-r或类似的东西,显然没有人能够访问Web应用程序.

有没有一种可以解决这个问题的方法,或者我应该自己解决?问题是,如果有一种可接受的方法,我不希望它过于复杂.

anu*_*ava 8

我强烈建议您移动connect.php到您上方的一个目录中,DOCUMENT_ROOT以便无法从您的Web服务器访问它.

您的php文件当然可以connect.php包含完整或相对路径,例如:

require_once('../connect.php');
Run Code Online (Sandbox Code Playgroud)


ste*_*lin 7

所有答案都有很好的建议,但未能解决这样一个事实:任何具有服务器访问权限的用户都可以只是窥探并在编辑器中打开config.php.

将配置文件设置在公共网站空间之外的目录中,网络服务器应该是该目录的所有者,并且它应该具有设置为700的权限.它包含的所有文件应该是644.这样,除了以外,任何人都无法读取文件内容. webserver用户或root.

这是一种常见的方法,但由于安全性是一个非常广泛的主题,因此主题还有很多,但优于90%的设置.