我认为这是一个简单的'问题,但我想对问题有一个正确的看法。
我使用Amazon Linux AMI在Amazon上创建了一个EC2实例。 然后我安装了Apache和php55。
让我们考虑一下这种情况: - 我有一个php web应用程序,它有一个configuraton文件config.php,我们存储一些重要的信息以保证应用程序的安全性,比如db credential,login criteria。 - 在我使用的一些文件中包含(" configuration / config.php") - 我把config.php放在" / configuration" / var / html下的目录设置为775 - config.php实际设置为404,这样我只有在需要进行一些更改后才会升级到604,然后我会再次降级到404
我希望config.php和/ configuration目录非常安全,避免一些不好的用户查看它并在文件中获取信息。通过这种方式,我可以放任何关键的'在该子目录中的文件。
我还有什么可以做的,我还没有? 最好考虑把/ configuration dir放在/ var / html public目录之外吗?如果是,怎么样?
最好的问候, 马特
答案 0 :(得分:1)
我在这里发布了一个更多的测试:
最后我以这种方式制作(这仅用于测试目的):
在文档根目录中我创建了2个文件。这两个文件都有664个权限; owner = ec2-user和group = www
index.php
<?php
/**
* Created by PhpStorm.
* User: matteolatitude
* Date: 26/03/15
* Time: 1.12
*/
include($_SERVER["DOCUMENT_ROOT"].'/global.php');
include(PHP_FILES_PATH.'config.php');
echo '</br>';
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
echo('Calculated result: '.$somma.'</br>');
global.php
<?php
/**
* Created by PhpStorm.
* User: matteolatitude
* Date: 26/03/15
* Time: 12.36
*/
define('PHP_FILES_PATH', '/var/mytest/');
然后我使用owner = root创建了/ var / mytest目录,使用755权限创建了group = root。 然后在/ var / mytest中我保存了config.php;这个文件只是一个测试;在真正的应用程序中,我将使用它来存储例如数据库连接数据。 owner = root和group = root
config.php
<?php
/**
* Created by PhpStorm.
* User: matteolatitude
* Date: 26/03/15
* Time: 1.15
*/
// vediamo se esegue anche questo script
for ($k = 1; $k <= 4; $k++) {
$somma .= $k*2;
}
我想知道
1)是否包括($ _ SERVER [&#34; DOCUMENT_ROOT&#34;]。&#39; /global.php')似乎是一个好的和安全的选择?是否有更好的方法和更安全的方法?
2)我的权限(以及所有者和群组)是一个不错的选择,还是你会以不同的方式完成?
正如您所看到的,我对安全性非常感兴趣......
非常感谢, 马特