隐藏"连接.php"文件密码的最接受方法是什么?



随着我的服务器越来越大,越来越多的用户可以访问它,我不想让他们看到MySQL用来连接PHP的密码,它存储在我的"connect.PHP"文件中,每个页面都需要它。然而,它只是与其他php文件位于同一目录中。

我曾考虑过使用第二个类似"connect.php"的文件,该文件只能访问一个表,存储连接MySQL的加密密码,但之后我会遇到隐藏密钥的问题。

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

有没有一种公认的方法来解决这个问题,或者我应该自己解决它?问题是,如果有一个可接受的方法,我不希望它太复杂。

我强烈建议将connect.php移动到DOCUMENT_ROOT之上的一个目录中,这样就无法从web服务器访问它。

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

require_once('../connect.php');

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

将您的配置文件设置在公共Web空间之外的目录中,Web服务器应该是该目录的所有者,并且其权限应该设置为700。它包含的所有文件都应该是644。这样,除了Web服务器用户或root之外,甚至没有人可以读取文件内容。

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

设置$password,连接,然后设置unset() $password。他们应该永远都无法恢复。我认为无论如何都无法下载PHP文件,也看不到。它以前总是由服务器编译的。

服务器端文件的内容不能被用户获取,除非您愿意(或错误地)向他们显示。

最有可能的妥协是通过FTP访问,在这种情况下,黑客无论如何都可以访问网络服务器上的所有文件。

将其移动到www根目录后的文件夹中,例如www/includes。从那里,您可以使用htaccess来阻止查看/includes下文件的权限。

连接到SQL数据库后,使用unset($username,$password),这样就不会有人重复密码的用户名带来安全威胁。

最后,最好有专门的主机,这样其他有权访问web服务器的人就可以潜在地查看其他用户的文件。

或者,您可以完全取消密码,并将DB服务器配置为只接受来自localhost的连接。不过,这只适用于专用主机,如果您使用共享主机,则存在安全风险。

相关内容

  • 没有找到相关文章

最新更新