2

ファイルのアップロードを処理する PHP スクリプトがあります。スクリプトは、アップロードされたファイルを整理しようとし、必要に応じてファイルを移動するための新しいフォルダーを作成する場合があります。これらのファイルは、www ルート ディレクトリの下にあります (つまり、Web ブラウザからアクセスできます)。

私の質問は、作成されるフォルダーとそれらに移動されるファイルに対してどのようなアクセス許可を設定する必要があるかです (mkdir()およびを使用move_uploaded_file())。

4

2 に答える 2

4

Web サーバーには、これらのフォルダーの読み取りと書き込みのアクセス許可が必要であり、実行アクセス許可を取り消す必要があります (UNIX ライクなシステムを想定)。そうでない場合、ユーザーはスクリプトをアップロードし、HTTP リクエストを送信してスクリプトを実行することができます。

しかし、IMO 全体の概念は潜在的なセキュリティ ホールです。直接アクセスできないように、Web サーバーのルートのフォルダーにファイルを保存することをお勧めします。Web アプリケーションでは、アップロード ディレクトリをスキャンしてダウンロード リンクのリストを表示する PHP ダウンロード ページを作成できます。これらのダウンロード リンクは別のスクリプトにつながります。このスクリプトは、ストレージ ディレクトリからファイルを読み取り、それらをユーザーに送信します。

はい、これはより多くの作業です。ただし、シナリオは非常に一般的であるため、実装例を含むソース コードを簡単に見つけることができるはずです。そして、サーバーがハッキングされることははるかに少ない仕事です...

于 2008-11-14T16:10:41.300 に答える
0

具体的に答えるには、766(実行権限なし)が最も緩いでしょう。一方、700 では、Web ユーザー以外はファイルをいじることができません。しかし、実際には、最良の結果を決定するファイルで行っていたことがすべて異なります。

于 2008-11-17T23:45:42.173 に答える