共享主机上跨域的 PHP 文件

共享主机上跨域的 PHP 文件
  1. 我可以在一个网站上使用包含文件夹并设置允许访问此文件夹中文件的“受信任域/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

答案1

如果所有网站都在共享服务器上,您可以创建一个可读文件夹,然后它们可以通过这种方式包含。假设 /blah/globalphpshare/ 并且用户“homer”想要使用greet.php,他/她可以简单地执行include("/blah/globalphpshare/greet.php");

答案2

如果您的主机在 apache 中启用了 webroot 保护,则文件系统路径将不起作用,但您仍然可以像这样包含:

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

主要区别在于,被包含的文件只能看到您在字符串中传递的变量,而返回的是 php 从源域上的文件中解析出的 HTML。根据被包含文件的内容,这可能没问题。

相关内容