Un'applicazione java su cui sto lavorando ha un componente di caricamento file e voglio verificare che siano consentiti solo determinati tipi di file. Mi rendo conto che il controllo dell'estensione del file da solo non sia sufficientemente affidabile, quindi ho iniziato a convalidare le firme esadecimali dei file caricati. Ho utilizzato questo per riferimento: link
Quindi, questa applicazione si aspetta file alcuni OOXML, ma sembra che ognuno di questi (docx, pptx, xlsx) abbia la stessa firma esadecimale (50 4B 03 04 14 00 06 00), senza sottotitoli per differenziarli.
C'è un buon modo per differenziarli, o, dovrei implementarlo per cui se l'estensione del file è un file OOXML che accettiamo, e il sig esad condiviso è corretto, permettilo? Ci sono ulteriori problemi di sicurezza dall'implementazione di quest'ultimo?