0

これは重複した質問のように思えるかもしれませんが、同様の質問に記載されている解決策を試しました。

Apache サーバー上のいくつかのフォルダー内のファイルへのアクセスを制限して、特定のフォルダーにアクセスする必要があるシステムの一部にログインしているユーザーのみに、php スクリプトを介してのみ提供できるようにします。

他の解決策では、.htaccess を使用することをお勧めします

deny from all
allow from 127.0.0.1

しかし、それはどこからでもファイルを拒否しているようです.ローカルphpスクリプトを含みます.

私は .htpasswd を検討していますが、それは処理が必要な追加レベルのユーザー資格情報であり、私はそれを避けたいと考えています。

これを回避するにはどうすればよいですか?ファイルを保存するためのより良い方法はありますか?

4

2 に答える 2

0

どういうわけかphpはによって制限されていました

deny from all
allow from 127.0.0.1

影響を受けるフォルダーにファイルを含めて要求する。これは、これがどのように機能するかをApacheのドキュメントから読み取ることができることに反しており、その理由についての本当の答えはありません。この問題は、Xampp を使用するローカルホストと webhotel one.com の両方で持続しました。

実際にreadfileを使用したいときに、フォルダーへの読み取りアクセス権があるかどうかをテストするためにrequireを使用したため、元の質問は不適切に形成されました。

私の主な関心事は、アクセスできないディレクトリからダウンロードするファイルを提供したいということでした。そしてその

readfile($filename);

まだファイルにアクセスできました。

この問題の解決策は、 readfile() と include() が何らかの方法で異なるアクセス許可を取得していることに気付いたことです。これはどのドキュメントにもありませんでした。

于 2013-06-11T10:33:11.783 に答える