Я как-то на локальном комп-е баловался с созданием/удалением файлов с помощью php, и в результате ошибки в коде, мой скрипт удалил мне кучу файлов в корне диска. ОС эту экзекуцию не пережила, и пришлось её перебивать. Так вот, как избежать такого исхода в дальнейшем, и не дать скрипту выходить за пределы указанной директории? Подозреваю, что это связано с файлом .htaccess, но что конкретно там писать, я не нашел
Kopipaster
15.05.2014 - 23:27
Такое разве возможно?
Я на локалке денвер юзаю. Так как я не старался выше папки WWW ничего ни создать, ни стереть так и не смог.
brevis
15.05.2014 - 23:36
Благодарю, всё получилось, но есть одно "но". В php.ini я поставил open_basedir = Z:/home/mysite/www/
Но у меня на данном сервере много хостов, и если делать, как это сделал я - то это правило работает только для одного хоста - mysite, а для других будет выдавать ошибки. Как можно это правило сделать универсальным, чтобы в каждом хосте скрипт не выходил за пределы папки www ?
brevis
17.05.2014 - 00:17
Прописывать для каждого хоста отдельно.
В случае с Apache + PHP как модуль (по-моему в Денвере именно так) в httpd.conf пишем примерно так:
<Directory Z:/home/mysite/www/>
php_admin_value open_basedir Z:/home/mysite/www/
</Directory>
<Directory Z:/home/mysite2/www/>
php_admin_value open_basedir Z:/home/mysite2/www/
</Directory>
<Directory Z:/home/mysite3/www/>
php_admin_value open_basedir Z:/home/mysite3/www/
</Directory>
_____________
Чатик в телеге
brevis
благодарю! Со всем разобрался!
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.