确保面向外部的网站db configs

时间:2013-04-17 22:45:39

标签: php mysql apache

我正在向面向公众的网站添加一些数据库用法,我想要了解存储mysql连接信息最安全的方法。我想出了几个选择:

首先,我可以将配置存储在另一个目录中,只需设置PHP包含路径即可查找该目录。 其次,我知道有一些文件,apache不会提供给浏览器,我可以使用这些类型的文件之一。 第三,我可以在服务器上存储加密文件,并用PHP解密它们。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

将配置存储在apache的文档根目录之外是必须的

答案 1 :(得分:2)

您可以配置apache以禁止任何带有htaccess的文件。

配置文件夹中的

添加.htaccess以及

order allow,deny
deny from all

如果您不想将.htaccess用作@johua k,请提及,而是添加

<Directory /home/www/public/config>
    order allow,deny
    deny from all
</Directory>

到您的apache配置。

这将拒绝该文件夹中的任何文件被提供给任何人,这很好,因为php不关心htaccess你可以

include('config/db.php')

如果你正确配置你的php脚本,它们永远不会以纯文本形式出现。

所以像

这样的文件
define('mysql_password', 'pass')

永远不会显示该文字。

如果您担心共享托管环境和另一个有权读取此文件的用户,那么您应该评估Linux安装和主机的安全性。其他用户应该对您的文件具有任何浏览权限。从标记为php的web文件中永远不应该返回源。

您可以明确地告诉apache不要提供文件,因此它们只能包含include()或require()。