1

シナリオ:ホストサーバーでの開発、htaccess =基本認証、allow_url_fopen=オン

問題:ファイルをURLの場所でインクルードすると、htaccessがインクルードをブロックし、401エラーを返します。

既知の解決策:相対パス(../)、$ _SERVER['DOCUMENT_ROOT']。

質問:別の方法はありますか?このシナリオでは、可能であればURLを保持したいと思います。また、フッターにインクルードファイルを使用していますが、代わりにtplを使用する必要があります(tplについては何も知りません)。

編集:私は現在、私のフォルダ構造を台無しにしています。example.comとsecure.example.com(sslがインストールされている場所)があります。したがって、安全なフォルダにルートからのファイルを含めたいと思います。'document_root'呼び出しは(rootではなく)安全なフォルダーにしか移動せず、ファイルを移動すると相対パスが機能しない可能性があるため、URLを使用した方が簡単かもしれないと思いました。

4

1 に答える 1

2

あなたは本当にこれをしたくありません。これが、このオプションがデフォルトでオフになっている理由です。これを処理するより良い方法は、でファイルを取得することですlibcurl

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

次に、データをファイルに書き込んで含めることができます。ただし、リモートソースを信頼しているため、これは依然として非常に危険な動作です。チェーンは、その最も弱いリンクと同じくらい安全です。SSHを使用し、定期的に同期することは、実行可能な代替手段となる可能性があります。

于 2011-02-01T19:17:32.260 に答える