Sí, los tipos Mime son el método recomendado. Como eso es lo que hacen todos los Agentes de usuario (navegadores, etc.), puede depender de él para el comportamiento predeterminado.
Por "bits mágicos" si te refieres a analizar las estructuras del encabezado del archivo: sí, puedes hacerlo como un paso adicional si tu riesgo es alto, es decir, tu modelo de amenaza implica un paso en el que los atacantes cargan un archivo malicioso y eso lleva a alguna debilidad Claramente, implica un trabajo adicional de su parte (que consume ciclos de CPU, lo que aumenta el costo) que debe hacer solo cuando el beneficio "vale la pena".
También existe la posibilidad de usar extensiones de nombre de archivo (por ejemplo, .pdf para el formato PDF, .jpg / .jpeg para el formato JPEG, etc.) para detectar tipos de archivos (se usan con bastante frecuencia), pero nuevamente, esto es ligeramente menos confiable (mi opinión, no es un hecho comprobado) que usar tipos mime.