[過去ログ]
【まず1嫁】くだすれPython(超初心者用) その53 (1002レス)
【まず1嫁】くだすれPython(超初心者用) その53 http://mevius.5ch.net/test/read.cgi/tech/1615846784/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
437: デフォルトの名無しさん [] 2021/04/24(土) 21:25:16.04 ID:7lpOLCJL ファイルパスを受け取って画像かどうかを返す、シンプルな関数を作りたい 偽装(mimetypes)とか誤認(imghdr)とか避けたい import pathlib import filetype path = pathlib.Path(xxx) if path.is_file(): __is_img(path) # def is_img(path): __answer = False __obj = filetype.guess(str(path)) __if obj is not None: ____if obj.mime[:6] == "image/": ______answer = True __returen answer いまこんな感じなんですが、これで大丈夫だと思いますか? 一応手元で偽装ファイルとか色々投げて、問題ないっぽい雰囲気ではあるのですが… また、もっと簡単な方法があれば教えてください http://mevius.5ch.net/test/read.cgi/tech/1615846784/437
440: デフォルトの名無しさん [sage] 2021/04/25(日) 00:57:11.71 ID:VZsvyaQ9 >>437 filetypeはjpg/png/gifの場合最初の2〜3バイトしか読まないので https://github.com/h2non/filetype.py/blob/53bdccee0371fcc9463e2edd68d2cedb589d3a76/filetype/types/image.py#L23 その先頭2〜3バイトが偽装されていれば誤認する そういうのが嫌なら439のように画像としてロードできるかまで確認すべきだ ただし、437が想定するファイルを「偽装」してくるアタッカーがどういう人物像なのか不明なので 一概にどちらにすべきとは言えない 偽装ファイルでexploitを突こうと画策されているのでもなければfiletypeで十分だろう http://mevius.5ch.net/test/read.cgi/tech/1615846784/440
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.324s*