การทำไฟล์ libmagic / file detect .docx
ตามที่เห็นในที่อื่น docx, xlsx และ pttx เป็น ZIPs เมื่ออัปโหลดไปยังเว็บแอปพลิเคชันของฉันfile(ผ่านlibmagicและpython-magic) ตรวจพบว่าเป็น ZIP ฉันจัดเก็บเนื้อหาของไฟล์เป็นหยดในฐานข้อมูล แต่โดยธรรมชาติแล้วฉันไม่ต้องการที่จะเชื่อใจผู้ใช้ว่าเป็นประเภทไฟล์ประเภทใด ดังนั้นฉันต้องการที่จะเชื่อมั่นfileและสร้างชื่อไฟล์โดยอัตโนมัติในระหว่างการดาวน์โหลด ฉันรู้ว่าสามารถแก้ไขได้/etc/magicแต่รูปแบบ ( magic(5)) นั้นซับซ้อนเกินไปสำหรับฉัน ฉันพบรายงานข้อผิดพลาดเกี่ยวกับปัญหาที่ข้อบกพร่องของ Debianแต่ตั้งแต่ปี 2008 ดูเหมือนว่าจะไม่ได้รับการแก้ไขตลอดเวลาในไม่ช้า ฉันเดาทางเลือกอื่นของฉันเท่านั้นคือการเชื่อถือผู้ใช้แน่นอน (แต่ยังคงเก็บเนื้อหาเป็นหยด) และตรวจสอบเฉพาะนามสกุลไฟล์ตามชื่อไฟล์ วิธีนี้ฉันสามารถอนุญาตส่วนขยายบางส่วนและอนุญาตให้ผู้อื่นได้ และเมื่อผู้ใช้ทำการดาวน์โหลดไฟล์ของเขาอีกครั้งเขาสามารถทำได้ทุกอย่างที่เขาอัพโหลด แต่โซลูชันนี้ไม่ปลอดภัยหากไฟล์นั้นถูกแชร์กับผู้อื่นเนื่องจากคุณสามารถเปลี่ยนชื่อไฟล์เพื่อให้สามารถอัปโหลดได้ ความคิดใด ๆ สุดท้ายฉันพบรายการหมายเลขมายากลสำหรับ docx และอื่น ๆแต่ฉันไม่สามารถแปลงเป็นmagic(5)รูปแบบได้