webapp的安全通用配置文件

时间:2015-06-06 08:08:10

标签: php web configuration-files

我想在一个文件中保留webapp的所有配置选项。 (pathes,密码,由php读取的选项,sass(编译期间),也许是咕噜声,...)

我喜欢JSON格式,因为它非常清晰,几乎任何东西都可以解析json。但默认情况下,可以下载.json文件。

我可以通过为文件提供.json.php扩展名来安全地阻止这种情况吗?

有什么缺点?更好的方法?

1 个答案:

答案 0 :(得分:2)

为了防止文件被下载,通常的方法是将其存储在Web服务器不提供的目录中。我不知道您的设置是什么,但假设是Apache设置,例如,如果您的.php文件是从目录/home/user/htdocs提供的,则可以创建目录{{ 1}},确保网络服务器可以读取它,并将/home/user/config文件存储在那里。

另一种假设Apache的方法是创建一个包含以下内容的.json文件(受this answer启发):

.htaccess

这不仅会阻止下载目录中的所有RedirectMatch 404 \.json$ 个文件,还会隐藏它们的存在。

通过存储.json扩展名的文件, 可能可以按照您的建议进行操作,尽管这不是推荐的方法。为了实现这一点,文件必须是有效的PHP,但它显然必须是有效的JSON,并且我们在某种程度上受到JSON不允许注释这一事实的阻碍。类似下面的内容会在文件启动后立即停止PHP解释器,然后泄露您的秘密:

.json.php