我正在向面向公众的网站添加一些数据库用法,我想要了解存储mysql连接信息最安全的方法。我想出了几个选择:
首先,我可以将配置存储在另一个目录中,只需设置PHP包含路径即可查找该目录。 其次,我知道有一些文件,apache不会提供给浏览器,我可以使用这些类型的文件之一。 第三,我可以在服务器上存储加密文件,并用PHP解密它们。
非常感谢任何帮助。
答案 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()。