2.8.17. open_basedir
Важливі моменти:
- Повної ізоляції сайтів один від одного можна домогтися тільки шляхом розміщення їх в окремих хостинг-акаунтах.
- Параметр автоматично вимикається на час роботи профілювальника PHP.
Параметр open_basedir обмежує рівень доступу для скриптів PHP сайту.
Важливо враховувати, що використання параметра не може забезпечити повної ізоляції сайтів один від одного в рамках одного хостинг-акаунту. Це пов’язано з тим, що параметр обмежує доступ до файлів лише засобами PHP, однак у разі звернення до файлів за межами встановленого доступу обхідними шляхами, наприклад, за допомогою виклику команд через shell_exec (потенційно небезпечні внутрішні функції PHP, які не використовуються скриптами сайту, можна вимикати), доступ обмежений не буде.
У ситуаціях, коли скрипти сайту намагаються звертатися до файлів, доступ до яких для них обмежений за допомогою open_basedir, на сайті може спостерігатися помилка «open_basedir restriction in effect».
Зміна
- Відкрийте налаштування PHP.
- У полі «open_basedir» виберіть потрібний рівень доступу та збережіть зміни:
- «/home/example/example.com/www» — доступ обмежено кореневим каталогом сайту.
- «/home/example/example.com» — доступ обмежений батьківським каталогом кореневого каталогу сайту.
- «/home/example» — доступ обмежений кореневим каталогом хостинг-акаунту.
- «вимкнути» — доступ не обмежується.
- Зачекайте приблизно 10-15 хвилин, поки зміни вступлять в силу.