如何使用PHP include构建安全的环境?
我认为这是一个简单的问题,但我想对这个问题有一个正确的看法 我使用AmazonLinuxAMI在Amazon上创建了一个EC2实例。 然后我按照上的说明安装了Apache和php55。我还按照相同的指南设置了/var/www目录的权限如何使用PHP include构建安全的环境?,php,linux,security,amazon-web-services,amazon-ec2,Php,Linux,Security,Amazon Web Services,Amazon Ec2,我认为这是一个简单的问题,但我想对这个问题有一个正确的看法 我使用AmazonLinuxAMI在Amazon上创建了一个EC2实例。 然后我按照上的说明安装了Apache和php55。我还按照相同的指南设置了/var/www目录的权限 [ec2-user ~]$ sudo groupadd www [ec2-user ~]$ sudo usermod -a -G www ec2-user [ec2-user ~]$ sudo chown -R root:www /var/www [ec2-use
[ec2-user ~]$ sudo groupadd www
[ec2-user ~]$ sudo usermod -a -G www ec2-user
[ec2-user ~]$ sudo chown -R root:www /var/www
[ec2-user ~]$ sudo chmod 2775 /var/www
[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} +
[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} +
让我们来考虑一下这个场景。仅用于测试目的,然后我们将实现真正的应用程序:
- 我有一个PHPWeb应用程序,它有一个configuraton文件config.PHP,我们在其中存储了一些重要的应用程序安全信息,比如db凭证、登录条件
- 为了保护它,我将config.php放在/var/set下的“/matteotest”目录中,设置为755;我在文档根目录外创建了/matteTest以提高安全性
- 在一些文件中,我包含了config.php
- php实际上设置为404,因此只有在需要一些更改时,我才会升级到604,然后再次降级到404
<?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>');
1) Is include($\u SERVER[“DOCUMENT\u ROOT”]./global.php)似乎是一个
好的和安全的选择?有更好更安全的方法吗
我更喜欢包含dirname(_文件)'/global.php'代码>从根目录中包含时。有时我使用\uuuuuu文件\uuuuu
将根路径定义为常量,谢谢。。。。在查看手册时,我发现在使用PHP5.5时,我也可以使用DIR magic常量,而不是dirname(文件):include(DIR.DIRECTORY_SEPARATOR.'global.PHP')@agodoo您没有给出PHP版本,所以我给出了标准响应(并由我自己测试)。但是\uuuuu DIR\uuuuuu
也应该有效:)
<?php
/**
* Created by PhpStorm.
* User: matteolatitude
* Date: 26/03/15
* Time: 12.36
*/
define('PHP_FILES_PATH', '/var/matteotest/');
<?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;
}