2

簡単な問題があります。私が開発しているシステムでは、ユーザーがzipファイルを送信でき、そのコンテンツをフィルタリングする必要があります。(アプリケーションや悪意のあるスクリプトをブロック)

拡張子で内部ファイルをブロックするのは簡単ですが、拡張子のないファイルは非常に一般的であり、拡張子はファイルの内容に関する最も信頼できるソースではありません。

すでに Python マジックを使用しようとしましたが、サーバーがサポートしていないパッケージが必要であり、サーバーは役に立ちません。おー!システムを別のサーバーに変更するオプションがありません。したがって、この場合、Python の魔法はありません。

ヘッダーでファイルの種類を確認する方法を知っている人はいますか?

4

1 に答える 1

2

直接的な答えではありませんが、/etc/magic の形式はそれほど複雑ではないため、検出する必要があるファイルの種類が少ない場合は、独自の検出ルーチンを作成するのがおそらく最も簡単です。

# Java

0       beshort         0xcafe
>2      beshort         0xbabe          application/x-java-applet

我々が得る:

data = open(path).read()
if data[0:4] == '\xca\xfe\xba\xbe':
    minetype = 'application/x-java-applet'
于 2011-02-02T12:39:16.053 に答える