2013-03-21 3 views
2

У меня есть каталоги, такие как /www/site1 и /www/site2 на моем сервере. Я хотел бы, чтобы файлы в site1 от выполнения вещей, как:Как защитить каталог от доступа с php?

include("../site2/configuration.php"); 

мне нужны каталоги, чтобы быть полностью независимым.

ответ

2

Запустите PHP as a user other then the web server user и установите разрешения для каталогов и файлов, чтобы владелец мог получить доступ только от владельца (chmod 700).

2

Вы можете использовать директиву open_basedir php.ini.

+0

Как я понимаю, это всего лишь глобальный список каналов, к которым можно получить доступ, не так ли? Мне нужно что-то назначить локально, чтобы любой файл в '/ www/site1/*' мог получить доступ только к '/ www/site1/*', '/ www/site2/*' only '/ www/site2/*' и так on ... – Andrea

+0

Вы можете определить open_basedir для каждого виртуального хоста отдельно. – sectus

Смежные вопросы