0

Web アプリケーションには、すべてのユーザーのファイルが保存されているアップロード フォルダーがあり、それらを実行する可能性を排除する必要があります。

ウィキペディアに見られるように:

chmod -R a-x+X directory
は、ディレクトリ ツリー内のすべてのファイルの実行権限を削除しますが、ディレクトリの参照は許可します。

しかし、これをアップロードフォルダーに正常に適用した後、テスト目的でそこに配置したすべての同封のphp、perl、およびpythonスクリプト(および他のすべての種類の実行可能ファイルを疑う)は、ブラウザーでアドレスを印刷すると実行されます。

なぜこれが起こっているのですか? これを修正するにはどうすればよいですか?

4

1 に答える 1

2

perl、php、および python インタープリターは、入力ファイルの実行許可ビットがオンになっているかどうかに関係なく、渡された入力ファイルを喜んで実行します。(一方、ファイルに使用するインタープリターを指定するシバン行がある場合、実行許可は尊重されます。しかし、それはおそらくあなたの状況には当てはまりません。)

ファイルシステム レベルではなく、Web サーバーを構成する (実行可能と見なされるディレクトリを制限する) ことによって、この問題に対処する必要があります。

Apache を使用している場合は、こちら で説明されているように、グローバル構成ファイルまたはローカル .htaccess ファイルで ScriptAlias ディレクティブを確認することをお勧めします。

于 2011-02-02T22:21:18.877 に答える