Проще говоря: нет пути. Браузеры не поддерживают ограничители типов в полях загрузки файлов (AFAIK, который был запланирован или даже интегрирован в стандарт HTML, но в лучшем случае практически не реализован). И расширение файла, и информация о типе mime предоставляются пользователем и, следовательно, не могут быть доверенными.
Вы действительно можете только попытаться проанализировать файл и проверить, соответствует ли он тому формату, который вы ожидаете, это единственный надежный способ. С чем нужно быть осторожным, так это с переполнением буфера и тому подобным, вызванным вредоносным искажением файлов. Если вам нужны только текстовые файлы, это, вероятно, не так уж важно.