我已经在互联网上进行了搜索,检查“上载文件类型”的“最安全”方法似乎是使用python-magic
库检查魔术数字/标头
magic.from_buffer(open("testdata/test.pdf").read(2048))
用于内存文件
magic.from_file("testdata/test.pdf", mime=True)
用于磁盘上的文件
但是我在各处也都读到,即使是魔术字节也可能被欺骗,从而带来安全后果。
在python中是否存在更安全的方法或至少另一层安全的解决方案?
(最好(但不限于)使用Django)
PS:类似用户端的“检查扩展名”或“内容类型”标头之类的东西-我根本不考虑文件类型检查 。< / p>