共享包括共享主机上跨域的PHP文件

  1. 我可以在一个网站上使用包含文件夹,并设置允许访问此文件夹中的文件的“受信任域/ IP”(所有其他域/ IP都受到限制)吗? 所有这些站点都在同一个共享托pipe服务器上,全球站点有一个专用IP,其他站点共享一个不同的IP。

  2. 这是不是太容易让PHP包含跨域?

  3. 如果这种情况是不可能configuration的,是否有一些替代scheme来共享服务器端文件全局和相对安全?

编辑:服务器是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");

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

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

主要区别在于被包含的文件只能看到你在string中传递给它的variables,返回的是PHP从源文件中parsing出来的HTML。 根据包含文件中的内容,这可能没问题。