1

场景:在托管服务器上开发,htaccess = Basic Auth,allow_url_fopen = on

问题:当我使用它们的 url 位置包含文件时,我的 htaccess 会阻止包含并返回 401 错误。

已知解决方案:相对路径 (../)、$_SERVER['DOCUMENT_ROOT']。

问题:还有其他方法吗?如果可能,我想在这种情况下保留 url。另外,我正在为我的页脚使用包含文件,我应该使用 tpl 代替吗(我对 tpl 一无所知)?

编辑:我目前正在弄乱我的文件夹结构。我有 example.com 和 secure.example.com(安装了 ssl)。所以在我的安全文件夹中,我想包含来自根目录的文件。我认为如果我使用 URL 可能会更容易,因为“document_root”调用只会将我带到安全文件夹(而不是 root),如果我移动文件,则相对路径可能不起作用。

4

1 回答 1

2

你真的不想这样做。这就是该选项默认关闭的原因。处理此问题的更好方法是从 with 中获取文件libcurl

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);

然后,您可以将数据写入文件并将其包含在内。不过,这仍然是一种非常危险的行为,因为您信任远程源。一条链的安全取决于其最薄弱的环节。使用 SSH 和定期同步可能是一个可行的选择。

于 2011-02-01T19:17:32.260 回答