, где я должен поместить конфиденциальные файлы, чтобы они были читательными для скриптов PHP?

Я на параллели / Plesk VPS-хост, и это действительно новый вопрос.

Webroot находится на:

/var/www/vhosts/my-domain-name/httpdocs

Также называется путь:

/var/www/vhosts/my-domain-name/private/

, но скрипты PHP не могут казаться там файлы.

Из моего понимания любого файла, размещенного в Webroot, в опасности быть поданным публике, если это запрошено его веб-путь / имя файла. Я смутно осознает использование файлов .htaccess, чтобы сказать Apache, чтобы не служить определенным файлам / дирижению.

Но может (или должен) я помещаю свой чувствительный файл где-нибудь снаружи Webroot, пока до сих пор до сих пор прочитал сценарии PHP?

Спасибо!

Вот мои ошибки при попытке прочитать файл в «частной» папке выше:

Warning: file() [function.file]: open_basedir restriction in effect. File(../../private/test.txt) is not within the allowed path(s): (/var/www/vhosts/blah.com/httpdocs:/tmp) in /var/www/vhosts/blah.com/httpdocs/misc/testscript.php on line 8

Warning: file(../../private/test-dt.txt) [function.file]: failed to open stream: Operation not permitted in /var/www/vhosts/blah.com/httpdocs/misc/testscript.php on line 8

Обновление: REDED

Picto в Reddit / R / PHPHELP дал мне то, что мне нужно, и это специфично для систем PLESK Отказ Мне пришлось написать файл под названием Vhost.conf, помещенный в папку Conf, которая существует на том же уровне, что и httpdocs. А в Vhost.conf я использовал:


php_admin_value open_basedir /var/www/vhosts/my-domain-name/httpdocs:/tmp:/var/www/vhosts/my-domain-name/myfolder

Итак, я сейчас размещаю свои чувствительные файлы в «MyFolder», который находится за пределами Webroot (httpdocs). После этого заставить эти настройки вступить в силу, (перезапустить Apache не работает) Есть несколько специальных команд Plesk, чтобы дать: http://www.gadberry.com/aaron/2006/02/09/ plesk_vhost /

10
задан gus 14 September 2011 в 04:35
поделиться