Назад | Перейти на главную страницу

Совместное использование включает файлы с PHP между доменами на общем хостинге

  1. Могу ли я использовать папку include на одном веб-сайте и настроить «доверенные домены / IP-адреса», которым разрешен доступ к файлам в этой папке (все остальные домены / IP-адреса ограничены)? Все сайты находятся на одном сервере виртуального хостинга, глобальный сайт имеет выделенный IP-адрес, а остальные имеют другой IP-адрес.

  2. Это слишком небезопасно для включения PHP в разные домены?

  3. Если этот сценарий невозможно настроить, есть ли альтернативы для глобального и относительно безопасного совместного использования файлов на стороне сервера?

Изменить: сервер - Apache

При включении файлов между доменами выдает ошибку:

Warning: include(/home/user1/public_html/file.php) [function.include]:
failed to open stream: Permission denied in /home/user2/public_html/file.php

Если все веб-сайты находятся на общем сервере, вы можете сделать папку доступной для чтения, и они могут включать ее таким образом. Скажите / blah / globalphpshare /, и пользователь homer хочет использовать greet.php, он может просто сделать include("/blah/globalphpshare/greet.php");

Если ваш хост включает защиту root в apache, путь к файловой системе не будет работать, но вы все равно можете включить следующее:

<?php include('http://www.somedomain.com/?query=string'); ?>

Основные отличия заключаются в том, что включенный файл видит только переменные, которые вы передали ему в строке, а возвращается HTML-код, который php проанализировал из файла в исходном домене. В зависимости от того, что находится во включенном файле, это может быть нормально.