問題タブ [python-magic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1261 参照

python - zip ファイル内で送信された拡張子のないファイルの MIME タイプを見つけるにはどうすればよいですか?

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

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

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

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

0 投票する
5 に答える
4647 参照

django - Djangoフォームのクリーンメソッドで魔法を使ってファイルタイプを検証するにはどうすればよいですか?

FileField を使用して、Django で電子メール フォーム クラスを作成しました。MIME タイプをチェックして、アップロードされたファイルのタイプをチェックしたい。その後、ファイルの種類を pdf、word、およびオープン オフィス ドキュメントに制限したいと考えています。

この目的のために、python-magic をインストールしました。python-magic の仕様に従って、次のようにファイルの種類を確認したいと思います。

ただし、最近アップロードされたファイルには、サーバー上のアドレスがありません。また、ファイルのコンテンツを指定して MIME タイプをチェックする「from_file_content」に似た MIME オブジェクトのメソッドも知りません。

Djangoフォームでアップロードされたファイルのファイルタイプを検証するためにマジックを使用する効果的な方法は何ですか?

0 投票する
2 に答える
1187 参照

python - アップロードされたファイルの種類 (テキストまたはバイナリ) を確実に確認する方法は?

ユーザーがさまざまなファイルをアップロードできるアプリケーションがありますが、テキスト表現をプレーンテキストとして安全に表示できるかどうかを各ファイルについて知る必要があります。

python-magic likeの使用

正しい MIME タイプを教えてくれます。

しかし、スクリプトの MIME タイプが である場合もあるapplication/*ため、単に検索するだけでは十分でm.startswith('text/')はありません。

使用を提案した別のサイト

をチェックし'text' in mます。

2 番目のアプローチは、任意のファイル アップロードのコレクションに対して十分に信頼できるでしょうか、それとも誰かが別のアイデアを教えてくれますか?

どうもありがとう。

0 投票する
4 に答える
10376 参照

python - Windowsの`magic`ライブラリのファイルがありません

Windows上のいくつかのファイルのmimeタイプを取得する必要があるため、python-magic(32ビットPython 2.7.3に)インストールしました。UNIXライブラリ
に依存します。作成者は、gnuwin32プロジェクトから取得するように 指示します。そこで、ファイルをフォルダーに保存し、そのフォルダーをシステムに追加しました。 これで、メソッドを実行すると、欠落しているファイルの例外が発生します。 magic
regex2.dllzlib1.dllmagic1.dllPATH
magic

DLLはPATHにあり、デバッグを試みmagic1.dllて正しく配置されていますが、ライブラリ内のどこかで例外がスローされます。私が見つけ
たパッケージの中と。それらを同じフォルダに置いて、乗りました gnuwin32magicmagic.mgcWindowsError: [Error 126]

magicこれは明らかに、Pythonがファイルをプレーンテキストであるdllとして開こうとするために発生します。コード内のファイル名に追加.dllした後、私は同じを取得しますmagic.MagicException: could not find any magic files!
どのファイルがありませんか?

アップデート:

更新2(解決済み):

ファイルを明示的に指定する必要がありました

0 投票する
1 に答える
2493 参照

python - magic.from_buffer が None を返すのはなぜですか?

呼び出したときに得られるものは次のmagic.from_bufferとおりです。

この時点で、 が提供されるはずですがapplication/msword、最後の呼び出しからは何も得られません。私は何が欠けていますか?

これは開発マシンでは機能しますが、サーバーでは失敗します。私はかなり困惑しています。

0 投票する
5 に答える
16960 参照

python-2.7 - Python-magic インストール エラー - ImportError: libmagic が見つかりませんでした

Windows 用の python-magic をインストールしようとしています。https://github.com/ahupp/python-magicのすべての指示に従い、プロセスを数回繰り返しましたが、まだこのエラーが発生しています。

C:\Windows\System32 に (ドキュメントで指定された他の 2 つのファイルと共に) magic1.dll があるので、何が問題なのかわかりません。ヘルプまたは回避策をいただければ幸いです。

0 投票する
2 に答える
2794 参照

python - Windows XP で Python Magic を使用した場合のエラー メッセージ

ここの指示に従いました...

https://github.com/ahupp/python-magic#dependencies

pip install python-magic を実行したところ、問題なくインストールされました。次に、cygwin をインストールし、システム パスに C:\cygwin\bin を追加しました。Windows コマンド プロンプトで Python インタープリターを実行し、magic をインポートすると、このエラーが発生します...

ステップを逃しましたか?

0 投票する
2 に答える
4126 参照

python - パイソンマジック; libmagic が見つかりません

「pip install python-magic」を使用して python-magic をダウンロードしてインストールしました。ソース: https://github.com/ahupp/python-magic

それは完全に正常にダウンロードおよびインストールされました。また、3 つのファイル (cygmagic-1.dll、cygwin1.dll、cygz.dll) を cygwin インストールから C:\Windows\System32 にコピーしました。

次に、magic1.dll もダウンロードし、System32 フォルダーにも配置しました。

しかし、コマンドプロンプトにはまだこのエラーが表示されます:

ImportError: libmagic が見つかりませんでした。インストールを確認する

これはなぜですか?

編集: C:\cygwin\bin も PATH に含めました。