1. ホーム
  2. php

http経由のファイルへの直接アクセスはブロックし、phpスクリプトのアクセスは許可する。

2023-10-24 16:41:02

質問

ファイル (pdf、doc、flv など) をバッファにロードし、スクリプトでユーザーに提供しています。 スクリプトでファイルにアクセスできるようにする必要がありますが、ファイルへの直接アクセスは許可されません。 これを実現する最善の方法は何でしょうか? パーミッションで何かを行うか、.htaccess でディレクトリをロックアウトする必要がありますか?

どのように解決するのですか?

最も安全な方法は、Damien が提案したように、自分自身に保持しておきたいファイルを Web ルート ディレクトリの外側に置くことです。これは、Web サーバーが自分自身の特権ではなく、ローカルのファイル システムの特権に従うためです。

しかし、Web ルートへのアクセス権しか与えないホスティング会社が多く存在します。それでもファイルへの HTTP リクエストを防ぐには、すべての通信をブロックする .htaccess ファイルを使用して、ファイルをそれ自体のディレクトリに置きます。たとえば

Order deny,allow
Deny from all

ディレクトリのローカル権限により、ウェブサーバはファイルの読み取りと実行を許可されているため、ウェブサーバ、したがってサーバサイド言語は、まだそれらを読み取ることができます。