Узнайте реальный тип файла

Если сюда придут новые люди, чтобы помочь мне, я приведу более подробную информацию.

Я использую Laragon в качестве локального сервера, который использует Apache. Я пытался изменить httpd.conf, и это ничего не меняет.

Когда я помещаю URI в мой навигатор, он работает, например:

http: //api.test/api/events/ возвращает хороший json.

И моя ошибка изменилась:

Доступ к XMLHttpRequest по адресу [ http: //api.test/api/events/0 «из источника» http: // localhost: 8080 'заблокирован политикой CORS: заголовок' Access-Control-Allow-Origin 'содержит несколько значений' *, http: // localhost: 8080 ', но только один разрешен.

blockquote>

Повторно отредактируйте, это работает. Я удалил промежуточное ПО cors и поместил набор Access-Control-Allow-Origin в httpd.conf

7
задан Shadow 31 March 2016 в 13:33
поделиться

6 ответов

Один путь состоял бы в том, чтобы проверить на определенные подписи или магические числа в файлах. Эта страница имеет удобный список известных подписей файла и кажется довольно актуальной:

http://www.garykessler.net/library/file_sigs.html

4
ответ дан 6 December 2019 в 14:10
поделиться

Другими словами, если бы trojan.exe был переименован к harmless.pdf и загружен, то приложение должно смочь узнать, что загруженный файл НЕ является файлом pdf.

Это не действительно проблема. Если бы .exe был загружен как .pdf, и Вы правильно служили ему назад до загрузчика как приложение/PDF, то весь загрузчик добрался бы, был бы поврежденный PDF. Они должны были бы вручную перепечатать его к .exe, который будет поврежден.

Настоящие проблемы:

  1. Некоторые браузеры могут осуществить сниффинг содержания файла и решить, что они знают лучше, чем Вы о том, какой файл это. IE особенно плох в этом, имея тенденцию предпочитать представлять файл как HTML, если он видит, что какие-либо HTML-тэги скрываются около запуска файла. Это особенно бесполезно, поскольку это означает, что сценарий может быть введен на Ваш сайт, потенциально ставя под угрозу любую безопасность прикладного уровня (cookie, крадущий и др.). Обходные решения включают всегда обслуживание файла как вложение с помощью Довольного Расположения, и/или обслуживая файлы от другого имени хоста, таким образом, это не может перекрестный сценарий сайта назад на основной сайт.

  2. Файлы PDF не безопасны так или иначе! Они могут быть полны сценариев и имели значительные дыры в системе безопасности. Эксплуатация дыры в плагине браузера читателя PDF в настоящее время является одним из наиболее распространенных средств установки троянцев в сети. И нет почти ничего, что можно обычно делать, чтобы попытаться обнаружить использование, поскольку они могут быть высоко запутаны.

4
ответ дан 6 December 2019 в 14:10
поделиться

Получите заголовки файлов "безопасных" типов файлов - исполняемые файлы всегда имеют свои собственные типы заголовков, и можно, вероятно, обнаружить их. Необходимо было бы быть знакомы с каждым форматом, который Вы намереваетесь принять, как бы то ни было.

3
ответ дан 6 December 2019 в 14:10
поделиться

Я знаю, что Вы сказали, что C#, но это могло, возможно, быть портировано. Кроме того, это имеет XML-файл, уже содержащий много дескрипторов для типов общего файла.

Это - библиотека Java под названием JMimeMagic. Это здесь: http://jmimemagic.sourceforge.net/

2
ответ дан 6 December 2019 в 14:10
поделиться

На ** ОТКЛОНЯЮТ* системы, у нас есть утилита, названная файлом (1). Попытайтесь найти что-то подобным для Windows, но утилита файла, если сам был портирован.

1
ответ дан 6 December 2019 в 14:10
поделиться

Возможно, Вы могли приблизиться к этому от другого направления. Вместо того, чтобы определить все типы файлов, которые загружаются (один только Excel походит на путаницу мне, потому что он имеет несколько форматов в эти дни), почему бы не выполнить все загрузки через вирусный сканер? Большое разнообразие файлов может содержать вирусы и троянцев. Это может быть больше работы для Вашего сервера, но это - самое безопасное решение.

Затем это до пользователей для корректной идентификации их типов файлов, который кажется разумным. Добавление в большом количестве кода (который должен будет быть протестирован также) только для проверения пользователей дважды походит на большой шаг. Если я говорю, что это - .pdf2 файл, Вы переименуете его к .pdf? Если это находится в корпоративной среде затем, разумно ожидать, что у пользователей будут правильные номера на их файлах. Я отследил бы, кто загрузил что также. Если бы это общедоступно, затем сканирование для типов файлов могло бы стоить, но я абсолютно сделал бы вирусное сканирование также.

1
ответ дан 6 December 2019 в 14:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: