問題タブ [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.
python - zip ファイル内で送信された拡張子のないファイルの MIME タイプを見つけるにはどうすればよいですか?
簡単な問題があります。私が開発しているシステムでは、ユーザーがzipファイルを送信でき、そのコンテンツをフィルタリングする必要があります。(アプリケーションや悪意のあるスクリプトをブロック)
拡張子で内部ファイルをブロックするのは簡単ですが、拡張子のないファイルは非常に一般的であり、拡張子はファイルの内容に関する最も信頼できるソースではありません。
すでに Python マジックを使用しようとしましたが、サーバーがサポートしていないパッケージが必要であり、サーバーは役に立ちません。おー!システムを別のサーバーに変更するオプションがありません。したがって、この場合、Python の魔法はありません。
ヘッダーでファイルの種類を確認する方法を知っている人はいますか?
django - Djangoフォームのクリーンメソッドで魔法を使ってファイルタイプを検証するにはどうすればよいですか?
FileField を使用して、Django で電子メール フォーム クラスを作成しました。MIME タイプをチェックして、アップロードされたファイルのタイプをチェックしたい。その後、ファイルの種類を pdf、word、およびオープン オフィス ドキュメントに制限したいと考えています。
この目的のために、python-magic をインストールしました。python-magic の仕様に従って、次のようにファイルの種類を確認したいと思います。
ただし、最近アップロードされたファイルには、サーバー上のアドレスがありません。また、ファイルのコンテンツを指定して MIME タイプをチェックする「from_file_content」に似た MIME オブジェクトのメソッドも知りません。
Djangoフォームでアップロードされたファイルのファイルタイプを検証するためにマジックを使用する効果的な方法は何ですか?
python - アップロードされたファイルの種類 (テキストまたはバイナリ) を確実に確認する方法は?
ユーザーがさまざまなファイルをアップロードできるアプリケーションがありますが、テキスト表現をプレーンテキストとして安全に表示できるかどうかを各ファイルについて知る必要があります。
python-magic likeの使用
正しい MIME タイプを教えてくれます。
しかし、スクリプトの MIME タイプが である場合もあるapplication/*
ため、単に検索するだけでは十分でm.startswith('text/')
はありません。
使用を提案した別のサイト
をチェックし'text' in m
ます。
2 番目のアプローチは、任意のファイル アップロードのコレクションに対して十分に信頼できるでしょうか、それとも誰かが別のアイデアを教えてくれますか?
どうもありがとう。
python - Windowsの`magic`ライブラリのファイルがありません
Windows上のいくつかのファイルのmimeタイプを取得する必要があるため、python-magic
(32ビットPython 2.7.3に)インストールしました。UNIXライブラリ
に依存します。作成者は、gnuwin32プロジェクトから取得するように
指示します。そこで、ファイルをフォルダーに保存し、そのフォルダーをシステムに追加しました。
これで、メソッドを実行すると、欠落しているファイルの例外が発生します。 magic
regex2.dll
zlib1.dll
magic1.dll
PATH
magic
DLLはPATHにあり、デバッグを試みmagic1.dll
て正しく配置されていますが、ライブラリ内のどこかで例外がスローされます。私が見つけ
たパッケージの中と。それらを同じフォルダに置いて、乗りました gnuwin32
magic
magic.mgc
WindowsError: [Error 126]
magic
これは明らかに、Pythonがファイルをプレーンテキストであるdllとして開こうとするために発生します。コード内のファイル名に追加.dll
した後、私は同じを取得しますmagic.MagicException: could not find any magic files!
。
どのファイルがありませんか?
アップデート:
更新2(解決済み):
ファイルを明示的に指定する必要がありました
python - magic.from_buffer が None を返すのはなぜですか?
呼び出したときに得られるものは次のmagic.from_buffer
とおりです。
この時点で、 が提供されるはずですがapplication/msword
、最後の呼び出しからは何も得られません。私は何が欠けていますか?
これは開発マシンでは機能しますが、サーバーでは失敗します。私はかなり困惑しています。
python-2.7 - Python-magic インストール エラー - ImportError: libmagic が見つかりませんでした
Windows 用の python-magic をインストールしようとしています。https://github.com/ahupp/python-magicのすべての指示に従い、プロセスを数回繰り返しましたが、まだこのエラーが発生しています。
C:\Windows\System32 に (ドキュメントで指定された他の 2 つのファイルと共に) magic1.dll があるので、何が問題なのかわかりません。ヘルプまたは回避策をいただければ幸いです。
python - Windows XP で Python Magic を使用した場合のエラー メッセージ
ここの指示に従いました...
https://github.com/ahupp/python-magic#dependencies
pip install python-magic を実行したところ、問題なくインストールされました。次に、cygwin をインストールし、システム パスに C:\cygwin\bin を追加しました。Windows コマンド プロンプトで Python インタープリターを実行し、magic をインポートすると、このエラーが発生します...
ステップを逃しましたか?
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 に含めました。