Salve,
sto cercando si risolvere un problema ma non ne vengo a capo in maniera efficiente.
Ho un form al quale do in input un file che dovrò leggere e sul quale fare poi delle operione.
Il tipo di file che devo però caricare deve essere necessariamente un file di tipo xls o xlsx.
Per il momento il controllo che mi sono limitato a fare è quello relativo alle estensioni dei file che vengono caricati bloccando tutte quelle che differiscono da xls e xlsx nel seguente modo:
$inputFileName_type = $_FILES['excel']['type'];
if ( $inputFileName_type == "application/vnd.ms-excel" ||
$inputFileName_type == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" )
Il problema sta per nel fatto che cambiando il controllo è facilmente aggirabile in quanto basta cambiare manualmente l'estensione del file caricato che questo controllo viene superato.
Volevo sapere se poteva esserci un modo più efficace.
Ho letto in giro una possibile soluzione, che può essere quella di andare ad analizzare il file da un punto di vista del codice esadecimale che lo compone andando a trovare una qualche sequenza di byte che si presenta in maniera sistematica all'interno del file di tipo xls e xlsx in modo tale da effetturare il controllo basandosi sulla lettura di questi byte.
Solamente il mio problema è che non sono riuscito a trovare una qualche sequenza di byte sensata da poter usare per il controllo.
Qualcuno di voi ha percaso avuto necessità di risolvere questo problema?
Sarebbe abbastanza importante, se qualcuno fosse in grado di aiutarmi gliene sarei grato.
Grazie a tutti