Я думаю, что это простой вопрос, но я хотел бы иметь правильное видение проблемы.
Я создал экземпляр EC2 на Amazon, используя Amazon Linux AMI.
Затем я установил Apache и php55 как в соответствии с инструкциями на http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html. Я также установил права на каталоги / 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-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 {} +
Давайте рассмотрим этот сценарий. Это только для целей тестирования, тогда мы будем реализовывать настоящее приложение:
Вот что я сделал подробно:
в корне документа я создал 2 файла. Оба файла имеют разрешение 664;
владелец = ec2-пользователь и группа = 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/matteotest/');
Затем я создал / var / matteotest dir с владельцем = root и group = root с разрешением 755.
Затем в / var / matteotest я сохранил config.php; этот файл только тест; в реальном приложении я буду использовать его для хранения, например, данных подключения БД.
владелец = корень и группа = корень
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;
}
я бы хотел знать
Является include($_SERVER["DOCUMENT_ROOT"].'/global.php')
кажется хорошим и безопасным выбором? Есть ли лучший и более безопасный метод?
Являются ли мои разрешения (а также владелец и группы) хорошим выбором, или вы сделали бы это по-другому?
1) Включение ($ _ SERVER [«DOCUMENT_ROOT»]. ‘/ Global.php’) представляется
хороший и безопасный выбор? Есть ли лучший и более безопасный метод?
я предпочитаю include dirname(__FILE__) .'/global.php';
при включении от root. Иногда я определяю корневой путь как постоянный, используя __FILE__
,
Других решений пока нет …