¿Es la detección de tipo MIME la mejor manera de detectar un tipo de archivo?

Estoy trabajando en un formulario de carga en PHP que debe permitir solo archivos MP3.

Cuando finaliza la carga, analizo el archivo para comprobar si es realmente un MP3. El primer paso es detectar el tipo mime comoaudio/mpeg. Yo uso las bibliotecasfinfo_file() y funciona bien, excepto que durante las pruebas algunos archivos MP3 son rechazados porque su tipo MIME resulta comoapplication/octet-stream.

Mis preguntas son:

¿Debería mi aplicación definitivamente rechazar esos archivos MP3? Ellos realmente reproducen audio.¿Hay alguna razón por la que este tipo MIME sea un MP3?¿Es la detección del tipo MIME la forma más segura de saber el tipo de archivo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta