Совместное использование включает в себя файлы с PHP через домены на общем хостинге
Можно ли использовать папку "Включение" на одном веб-сайте и настроить "доверенные домены /IP-адреса", которым разрешен доступ к файлам в этой папке (все другие домены /IP-адреса ограничены)? Все сайты находятся на одном сервере общего хостинга, глобальный сайт имеет выделенный IP-адрес, остальные имеют другой IP-адрес.
Это слишком небезопасно, чтобы разрешить включение PHP в разные домены?
Если этот сценарий невозможно настроить, есть ли альтернативы для общего доступа к файлам на стороне сервера в глобальном масштабе и относительно безопасно?
Изменить: сервер Apache
При включении файлов между доменами выдает ошибку:
Warning: include(/home/user1/public_html/file.php) [function.include]:
failed to open stream: Permission denied in /home/user2/public_html/file.php
2 ответа
Если все сайты находятся на общем сервере, вы можете сделать папку доступной для чтения, и они могут включать этот путь. Скажем, /blah/globalphpshare/ и пользователь 'homer' хочет использовать greet.php, который он / она мог бы просто сделать include("/blah/globalphpshare/greet.php");
Если на вашем хосте включена защита webroot в apache, путь к файловой системе не будет работать, но вы все равно сможете включить вот так:
<?php include('http://www.somedomain.com/?query=string'); ?>
Основное различие заключается в том, что включенный файл видит только те переменные, которые вы передали ему в строке, и возвращается HTML, который php анализировал из файла в исходном домене. В зависимости от того, что находится во включенном файле, это может быть хорошо.