Меню Закрыть

Application octet stream что это

Содержание

У меня странная проблема: когда я пытаюсь загрузить разные файлы, некоторые из них распознаются правильно, а некоторые нет и устанавливаются как application/octet-stream когда вы проверяете их тип $_FILES[‘file_1’][‘type’]

Я связался с моей хостинговой компанией, они сказали мне, что это не ошибка на их стороне и что это может быть связано с CloudFlare, но у меня никогда не было такой проблемы раньше.

Я знаю, что RAR имеет application/octet-stream как один из возможных типов пантомимы, но не PHP или PSD.

Это типы для PSD:

У кого-нибудь есть идея, почему он это делает? Я пробовал это в IE, FireFox, Chrome и Opera. Бывает во всех этих браузерах.

Есть ли лучший способ проверки типов? Поскольку те, которые я проверяю, отправляются браузером, который может быть подделан (я также проверяю расширения для большей безопасности). Я знаю, что есть способ сделать это с помощью Java, но я хотел бы использовать PHP и делать это на стороне сервера.

Решение

Вы должны проверить тип MIME на стороне сервера с finfo_file или же finfo_buffer .

Internet Media Types [1] — типы данных, которые могут быть переданы посредством сети интернет с применением стандарта MIME. Ниже приведён список MIME-заголовков и расширений файлов.

Содержание

Общие типы [ править | править код ]

Согласно RFC 2045, RFC 2046, RFC 4288, RFC 4289 и RFC 4855 [2] выделяются следующие базовые типы передаваемых данных:

Внутренний формат прикладной программы

  • application/atom+xml : Atom
  • application/EDI-X12 : EDIX12 (RFC 1767)
  • application/EDIFACT : EDIEDIFACT (RFC 1767)
  • application/json : JavaScript Object Notation JSON (RFC 4627)
  • application/javascript : JavaScript (RFC 4329)
  • application/octet-stream : двоичный файл без указания формата (RFC 2046) [3]
  • application/ogg : Ogg (RFC 5334)
  • application/pdf : Portable Document Format, PDF (RFC 3778)
  • application/postscript : PostScript (RFC 2046)
  • application/soap+xml : SOAP (RFC 3902)
  • application/font-woff : Web Open Font Format[4]
  • application/xhtml+xml : XHTML (RFC 3236)
  • application/xml-dtd : DTD (RFC 3023)
  • application/xop+xml :XOP
  • application/zip : ZIP[5]
  • application/gzip : Gzip
  • application/x-bittorrent : BitTorrent
  • application/x-tex : TeX
  • application/xml : XML
  • application/msword : DOC
Читайте также:  Программа для многоядерных процессоров

audio [ править | править код ]

  • audio/basic : mulaw аудио, 8 кГц, 1 канал (RFC 2046)
  • audio/L24 : 24bit Linear PCM аудио, 8-48 кГц, 1-N каналов (RFC 3190)
  • audio/mp4 : MP4
  • audio/aac : AAC
  • audio/mpeg : MP3 или др. MPEG (RFC 3003)
  • audio/ogg : OggVorbis, Speex, Flac или др. аудио (RFC 5334)
  • audio/vorbis : Vorbis (RFC 5215)
  • audio/x-ms-wma : Windows Media Audio[6]
  • audio/x-ms-wax : Windows Media Audio перенаправление
  • audio/vnd.rn-realaudio : RealAudio[7]
  • audio/vnd.wave : WAV(RFC 2361)
  • audio/webm : WebM

image [ править | править код ]

message [ править | править код ]

model [ править | править код ]

  • model/example : (RFC 4735)
  • model/iges : IGS файлы, IGES файлы (RFC 2077)
  • model/mesh : MSH файлы, MESH файлы (RFC 2077), SILO файлы
  • model/vrml : WRL файлы, VRML файлы (RFC 2077)
  • model/x3d+binary : X3DISO стандарт для 3D компьютерной графики, X3DB файлы
  • model/x3d+vrml : X3DISO стандарт для 3D компьютерной графики, X3DV VRML файлы
  • model/x3d+xml : X3DISO стандарт для 3D компьютерной графики, X3D XML файлы

multipart [ править | править код ]

  • multipart/mixed : MIMEE-mail (RFC 2045 и RFC 2046)
  • multipart/alternative : MIMEE-mail (RFC 2045 и RFC 2046)
  • multipart/related : MIMEE-mail (RFC 2387 и используемое MHTML (HTML mail))
  • multipart/form-data : MIMEWebform (RFC 2388)
  • multipart/signed : (RFC 1847)
  • multipart/encrypted : (RFC 1847)

text [ править | править код ]

  • text/cmd : команды
  • text/css : Cascading Style Sheets (RFC 2318)
  • text/csv : CSV (RFC 4180)
  • text/html : HTML (RFC 2854)
  • text/javascript (Obsolete): JavaScript (RFC 4329)
  • text/plain : текстовые данные (RFC 2046 и RFC 3676)
  • text/php : Скрипт языка PHP
  • text/xml : Extensible Markup Language (RFC 3023)
  • text/markdown : файл языка разметки Markdown (RFC 7763)
  • text/cache-manifest : файл манифеста(RFC 2046)

video [ править | править код ]

vnd [ править | править код ]

  • application/vnd.oasis.opendocument.text : OpenDocument[14]
  • application/vnd.oasis.opendocument.spreadsheet : OpenDocument[15]
  • application/vnd.oasis.opendocument.presentation : OpenDocument[16]
  • application/vnd.oasis.opendocument.graphics : OpenDocument[17]
  • application/vnd.ms-excel : Microsoft Excel файлы
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet : Microsoft Excel 2007 файлы
  • application/vnd.ms-powerpoint : Microsoft Powerpoint файлы
  • application/vnd.openxmlformats-officedocument.presentationml.presentation : Microsoft Powerpoint 2007 файлы
  • application/msword : Microsoft Word файлы
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document : Microsoft Word 2007 файлы
  • application/vnd.mozilla.xul+xml : MozillaXUL файлы
  • application/vnd.google-earth.kml+xml : KML файлы (например, для Google Earth)
Читайте также:  Сканирование каналов wifi ios

x [ править | править код ]

  • application/x-www-form-urlencoded Form Encoded Data [18]
  • application/x-dvi : DVI
  • application/x-latex : LaTeX файлы
  • application/x-font-ttf : TrueType (не зарегистрированный MIME-тип, но наиболее часто используемый)
  • application/x-shockwave-flash : Adobe Flash[19] и [20]
  • application/x-stuffit : StuffIt
  • application/x-rar-compressed : RAR
  • application/x-tar : Tarball
  • text/x-jquery-tmpl : jQuery
  • application/x-javascript :

x-pkcs [ править | править код ]

  • application/x-pkcs12 : p12 файлы
  • application/x-pkcs12 : pfx файлы
  • application/x-pkcs7-certificates : p7b файлы
  • application/x-pkcs7-certificates : spc файлы
  • application/x-pkcs7-certreqresp : p7r файлы
  • application/x-pkcs7-mime : p7c файлы
  • application/x-pkcs7-mime : p7m файлы
  • application/x-pkcs7-signature : p7s файлы

Этот тип используется для данных, неподпадающих под остальные категории, в частности, для данных, обрабатываемых прикладными почтовыми программами. Это информация, которая должна быть обработана соответствующим приложением для того, чтобы принять наглядную либо исполняемую для получателя форму. Предполагаемое использование для этого типа включает в себя пересылку файлов по почте, таблицы, данные для почтовых систем расписания, языки лдя "активной" (вычислительной) почты.

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

Подобные приложения могут быть определены как подтипы для типа "application". Изначально предопределено два подтипа: "octet-stream" и "PostScript".

В общем, подтип для ‘application’ зачастую может быть именем приложения, для которого предназначены пересылаемые данные. Однако, это не означает, что любое имя прикладной программы может свободно использоваться как подтип для ‘application’. Такие употребления (кроме подтипов, начинающихся с "x-") должны быть зарегестрированы в IANA.

Основной подтип ‘Application/Octet-Stream’

Используется для обозначения того, что тело содержит бинарные данные. Набор возможных параметров включает следующие (но не ограничивается ими):

TYPE — обобщенный тип или категория двоичных данных, эта информация больше предназначена для получателя, чем для автоматической обработки.

Читайте также:  Стиральная машинка из коробки

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

Дополнительный параметр, "conversions", определенный в [RFC-1341], был исключен в последствии.

В RFC 1341 также определен параметр "NAME", указывающего имя файла, которое должно быть использовано при сохранении данных на диск. Но он опять же был отменен в ожидании введения отдельного поля заголовка Content-Disposition, которое будет определено в ближайшем будущем.

Рекомендуемое действие для почтовой программы, получившей почту типа application/octet-stream, — просто предложить записать данные в файл без какого-либо преобразования, или. возможно, произвести его в соответствии с указанием пользователя.

Для уменьшения опасности передачи вирусных и других намеренно разрушающих систему программ по почте, строго рекомендуется, чтобы почтовая программа получателя не производила запуск программы, заданной в параметре поля "Content-Type" (например, в параметре "interpreter="), использующей в качестве входных данных тело письма.

Подтип ‘Application/PostScript’

Тип "application/postscript" означает, что пересылается PostScript-документ и требует специальной программы для его обработки. В настоящий момент используются два языка — level 1 и более поздний — level 2.

PostScript-документы представляют собой интерпретируемые программы, которые могут содержать операторы обращения к диску и действий с файлами. Поэтому PostScript-документы представляют потенциальную опасность для системы получателя.

В некоторых интерпретаторах PostScript могут иметь место ошибки, которые могут быть использованы хакерами для несанкционированного доступа к системе получателя, и нельзя предложить какого-либо специфического действия для предотвращения подобной возможности, кроме исправления со временем подобных ошибок (если они, конечно, есть) производителями соответствующего ПО.

Другие подтипы типа Application

Ожидается, что многие подтипы типа ‘Application’ будут введены в будущем. MIME-совместимые почтовые программы должны интерпретировать любой незнакомый им подтип как эквивалент ‘application/octet-stream’.

Формальный синтаксис дла поля ‘content-type’ для данных типа ‘application’ дается следующим образом.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.