I have an uploader which has file format validation (only some video formats can be uploaded).
However users can simply change the original file name extension and pass the validation (e.g. rename file.pdf to file.mov and upload)!
Now I need to check and validate if the file format matches the file extension or not. The backend is Python (Django), but I am not sure if this can be done via Payton, Javascript or any other solution.
In python you can use python-magic
Quote from the Readme:
python-magic is a python interface to the libmagic file type identification library. libmagic identifies file types by checking their headers according to a predefined list of file types.
It analyses the file header instead of using only the file extension to recognise the file type.
The usage is simple:
>>> import magic
>>> magic.from_file('renamed.pdf')
'ISO Media, Apple QuickTime movie'
# More handy
>>> magic.from_file('renamed.pdf', mime=True)
'video/quicktime'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With