Validating file signature
Prevent file type tampering.
yarn add magic-bytes.jsexport class FileSignatureValidator extends FileValidator {}buildErrorMessage() {
return 'Validation failed (file type does not match file signature)';
}import magicBytes from 'magic-bytes.js';isValid(file: File) {
const fileSignatures = magicBytes(file.buffer).map((file) => file.mime);
if (!fileSignatures.length) return false;
const isMatch = fileSignatures.includes(file.mimetype);
if (!isMatch) return false;
return true;
}Last updated