Tuesday, 11 April 2017

Mime-Type Sconosciuto Binarie Options

4 Il Content-Type campo di intestazione Lo scopo del campo Content-Type è descrivere i dati contenuti nel corpo abbastanza pienamente che il programma utente ricevente può scegliere un agente o meccanismo appropriato per presentare i dati all'utente, o altrimenti trattare i dati in modo appropriato. Il campo di intestazione Content-Type è utilizzato per specificare la natura dei dati nel corpo di un soggetto, dando tipo e sottotipo identificatori, e fornendo informazioni ausiliarie che possono essere necessari per alcuni tipi. Dopo i nomi di tipo e sottotipo, il resto del campo di intestazione è semplicemente un insieme di parametri, specificate in una notazione AttributeValue. Il set di parametri significativi diversa per i diversi tipi. L'ordine dei parametri non è significativo. Tra i parametri definiti è un parametro charset con cui il set di caratteri utilizzato nel corpo può essere dichiarato. I commenti sono consentiti in conformità con la RFC 822 regole per i campi di intestazione strutturati. In generale, il livello superiore Content-Type è utilizzato per dichiarare il tipo generale di dati, mentre il sottotipo specifica un formato specifico per quel tipo di dati. Così, un Content-Type di ImageXYZ è sufficiente per dire a un agente utente che i dati è l'immagine, anche se l'agente utente non è a conoscenza del formato immagine specifica xyz. Tali informazioni possono essere utilizzate, ad esempio, per decidere se visualizzare o meno un utente i dati grezzi da un sottotipo riconosciuto - tale azione potrebbe essere ragionevole per i sottotipi non riconosciuti di testo, ma non per i sottotipi non riconosciuti di immagine o audio. Per questo motivo, sottotipi di audio, immagini, testo e il video registrato, non dovrebbe contenere informazioni criptate che in realtà è di tipo diverso. Tali tipi composti dovrebbero essere rappresentati utilizzando i tipi più parti o di applicazione. I parametri sono modificatori del contenuto-sottotipo, e non influiscono fondamentalmente i requisiti del sistema host. Sebbene la maggior parte dei parametri hanno senso solo con alcuni tipi di contenuto, gli altri sono globali, nel senso che si potrebbe applicare a qualsiasi sottotipo. Ad esempio, il parametro di confine ha senso solo per il tipo di contenuto multipart, ma il parametro charset potrebbe avere senso con diversi tipi di contenuto. Una prima serie di sette tipi di contenuto è definito da questo documento. Questo insieme di nomi di primo livello è destinato ad essere sostanzialmente completa. Si prevede che aggiunte al grande insieme di tipi supportati possono essere generalmente realizzati mediante la creazione di nuovi sottotipi di questi tipi iniziali. In futuro, più tipi di alto livello possono essere definiti soltanto da un'estensione a questo standard. Se un altro tipo primario è quello di essere utilizzato per qualsiasi motivo, deve essere dato un nome che inizia con X per indicare il suo stato non standard e per evitare un potenziale conflitto con un futuro nome ufficiale. Nel estesa notazione BNF di RFC 822. un valore di campo di intestazione Content-Type è definito come segue: Si noti che la definizione di tspecials è la stessa definizione RFC 822 di specialità con l'aggiunta di tre caratteri, e. Si noti inoltre che una specifica sottotipo è obbligatoria. Non ci sono sottotipi di default. Il tipo, sottotipo e nomi di parametro non sono case sensitive. Ad esempio, il testo, testo, e il testo sono tutti equivalenti. I valori dei parametri sono normalmente case sensitive, ma alcuni parametri vengono interpretati come denza insensibile, a seconda dell'uso previsto. (Per esempio, i confini più parti sono case-sensitive, ma il tipo di ACCESSO per messageExternal-corpo non è tra maiuscole e minuscole.) Al di là di questa sintassi, l'unico vincolo sulla definizione dei nomi sottotipo è il desiderio che i loro usi, non devono essere in conflitto. Cioè, sarebbe auspicabile avere due diverse comunità che utilizzano Content-Type: applicationfoobar a significare due cose diverse. Il processo di definizione nuovi content-sottotipi, quindi, non è destinato ad essere un meccanismo per imporre restrizioni, ma semplicemente un meccanismo per pubblicizzare gli usi. Ci sono, quindi, due meccanismi accettabili per la definizione di nuovi sottotipi Content-Type: valori privati ​​(a partire da X) possono essere definite bilateralmente tra due agenti cooperanti senza registrazione esterna o la standardizzazione. Nuovi valori standard devono essere documentati, registrati, e approvati da IANA, come descritto in Appendice F. Dove destinato ad uso pubblico, i formati a cui si riferiscono deve anche essere definito da una specifica pubblicato, ed eventualmente offerti per la standardizzazione. I sette iniziali tipi di contenuto predefiniti standard sono dettagliate nella maggior parte di questo documento. Essi sono: informazioni di testo testuale. Il sottotipo primario, pianura, indica Testo normale (non formattato). Nessun software speciale è richiesto per ottenere il pieno significato del testo, a parte il supporto per il set di caratteri indicato. I sottotipi sono da utilizzare per il testo arricchito in forme in cui il software applicativo può migliorare l'aspetto del testo, ma tale software non devono essere richiesti per ottenere l'idea generale del contenuto. Le possibili sottotipi includono così qualsiasi formato leggibile word processor. Un sottotipo molto semplice e portatile, richtext, è definito in questo documento. Dati più parti costituite da più parti di tipi di dati indipendenti. Quattro sottotipi iniziali sono definiti, tra cui il sottotipo misto primaria, alternativa per rappresentare gli stessi dati in diversi formati, in parallelo per le parti destinate ad essere viste contemporaneamente, e digerire per i soggetti più parti, in cui ogni parte è di tipo di messaggio. messaggio un messaggio incapsulato. Un corpo di messaggio Content-Type è di per sé un completamente formattato RFC 822 messaggio conforme che può contenere un proprio diverso Content-Type campo di intestazione. Il sottotipo primario è RFC822. Il sottotipo parziale è definita per i messaggi parziali, per consentire la trasmissione frammentata dei corpi che si pensa di essere troppo grandi per essere passato attraverso strutture di trasporto della posta. Un altro sottotipo, esterno-corpo, è definito per specificare grandi corpi con riferimento ad una fonte dati esterna. dati di immagine immagine. Immagine richiede un dispositivo di visualizzazione (ad esempio un display grafico, una stampante o una macchina FAX) per visualizzare le informazioni. sottotipi iniziali sono definiti per due formati di immagine ampiamente utilizzati, JPEG e GIF. dati audio audio, con base sottotipo iniziali. Audio richiede un dispositivo di uscita audio (ad esempio un altoparlante o un telefono) per visualizzare i contenuti. di dati video video. Video richiede la capacità di visualizzare le immagini in movimento, tipicamente compresi hardware e software specializzati. Il sottotipo iniziale è mpeg. applicazione qualche altro tipo di dati, tipicamente sia dati binari non interpretati o informazioni che devono essere elaborati da un'applicazione di posta-based. Il sottotipo primario, octet-stream, deve essere utilizzato nel caso di dati binari non interpretati, nel qual caso la semplice azione consigliata è offrire per scrivere le informazioni in un file per l'utente. Due sottotipi aggiuntivi, APS e PostScript, sono definiti per il trasporto di documenti di APS e PostScript nei corpi. Altri usi previsti per l'applicazione includono fogli di calcolo, i dati per sistemi di pianificazione di posta elettronica basati, e linguaggi per (computazionale) e-mail attivo. (Si noti che la posta elettronica attiva comporta diversi securityconsiderations, che sono discussi più avanti in questa nota, in particolare nel contesto di applicationPostScript.) RFC default 822 messaggi vengono digitati da questo protocollo come testo normale nel set di caratteri US-ASCII, che può essere specificato in modo esplicito come Content-type: textplain charsetus-ascii. Se non Content-Type è specificato, o per errore o da un agente utente più vecchio, questo valore predefinito è assunto. In presenza di un campo di intestazione MIME-Version, un agente di ricezione L'utente può anche supporre che solo testo US-ASCII è stato l'intento mittenti. In assenza di una specifica MIME-Version, testo US-ASCII deve essere ancora assunta, ma il mittenti intento potrebbe essere stato otherwise. It Va notato che l'elenco dei valori Content-Type qui indicata potrebbe essere aumentata nel tempo, via i meccanismi sopra descritti, e che ci si aspetta l'insieme dei sottotipi a crescere notevolmente. Quando un lettore di posta elettronica incontra con un valore di tipo Content-sconosciuto, dovrebbe generalmente trattarlo come equivalente a applicationoctet-stream, come descritto più avanti in questo document. Manual: rilevamento del tipo MIME MediaWiki tenta di rilevare il tipo MIME dei file caricati , e respinge il file se il file-estensione non corrisponde il tipo MIME (il file è corrotto o ha un'estensione non corretta). Se hai trovato questo errore per file validi, provare a utilizzare un comando esterno per rilevare il tipo MIME (vedi sotto). Nota: Prima il metodo configurato per il rilevamento MIME si chiama, sono applicati alcuni controlli hard-coded. Utilizzare la registrazione di debug per scoprire se tali controlli causare falsi positivi. (Per esempio, 1.15.3 può misdetect doc-files da MS Word 2007 come file ZIP.) Per la configurazione di quali tipi di file MediaWiki accetteranno per il caricamento, l'uso wgFileExtensions. Se installato, MediaWiki utilizza il modulo FileInfo phps, o il vecchio modulo di MimeMagic. Se hai trovato un errore come mimemagic non può essere inizializzato, magic file non è disponibile. questo modulo non è configurato correttamente riferimento alla documentazione PHP per informazioni su come risolvere questo problema, o utilizzare un comando esterno rilevatore mimo invece (vedi sotto). Nel caso in cui si ha il modulo FileInfo installato, ma non caricata automaticamente, si può anche provare a impostare wgLoadFileinfoExtension vero. quindi i moduli vengono caricati da PECL in fase di esecuzione. In alternativa, un comando esterno può essere configurato per rilevare il tipo MIME impostando l'opzione wgMimeDetectorCommand. L'impostazione più comune è: Questo utilizza l'utilità di file GNU per determinare il tipo di file, che dovrebbe funzionare subito sotto Linux. Si noti che l'utilità del file fornito da altri Unix potrebbe non supportare l'opzione - i, e sarà quindi non funziona. L'utilità del file GNU è disponibile anche per Mac OS-X e per Windows tramite Cygwin. Se nessun modulo mimo è installata, e nessun comando esterno rilevatore di mimo è configurato, MediaWiki si basa su modulo GD phps per rilevare il tipo MIME. Si noti che questo funziona solo per alcuni tipi di immagine ben noti (vedi 1), saranno accettati altri file senza ulteriori controlli È inoltre possibile disattivare completamente il controllo di tipo MIME impostando wgVerifyMimeType falsa nota, tuttavia, che questo è molto insicura: file arbitrari quindi possibile essere caricato con estensione innocuo, ma può eventualmente ancora ottenere executedinterpreted in modo dannoso sul computer client, o il server web. In attesa: come si rapporta questo tipo wgCheckFileExtensions MIME convalida Modifica MediaWiki utilizza due file per controllare e interpretare il tipo MIME Entrambi sono file semplici, con una voce per riga, e gli elementi in una riga separata da spazi bianchi che si trovano nella comprende directory di l'installazione di MediaWiki. Se si desidera caricare tipi comuni di file, potrebbe essere necessario aggiungere le informazioni appropriate qui: mime. types viene utilizzato per mappare i tipi MIME alle estensioni dei file, e viceversa. Esso contiene una riga per ogni tipo MIME il primo elemento della linea è il (canonica vedi sotto) tipo MIME, gli elementi di seguito che sono estensioni di file che sono consentiti per questo tipo MIME (questo è lo stesso formato utilizzato per le normali mime. info i file sui sistemi LinuxUnix). Ad esempio, per i file JPEG, la seguente riga si applica: Si noti che il tipo MIME di alcuni formati di file può essere rilevato in maniera troppo generica qualsiasi formato basato su XML può presentarsi come textxml. qualsiasi formato ZIP-based come applicationzip. ecc Di conseguenza, le estensioni dei file per tali formati devono essere associati con il tipo MIME più ampio, ad es .: mime. info viene utilizzato per risolvere alias per tipi MIME, e per assegnare un tipo di supporto a loro. Esso contiene una riga per ogni tipo MIME il primo elemento della linea è il canonica nome del tipo MIME (che sarà utilizzato internamente), l'ultimo elemento è del tipo XXX e definisce il tipo di supporto per il tipo MIME. Tutti gli articoli in mezzo sono nomi secondari del tipo MIME. Alcuni esempi: Si noti che per i file OGG, il tipo di supporto è determinato a livello di codice: AUDIO per vorbis, VIDEO per Theora, MULTIMEDIA altrimenti. Il tipo di supporto è specifico per MediaWiki, e determina quale tipo di supporto è contenuta nel file, al contrario di ciò che il formato del file è in. Queste informazioni sono memorizzate nella tabella immagine. insieme con il tipo MIME. Non è attualmente utilizzato per molto, ma potrebbe essere utilizzato in futuro per determinare come presentare un file all'utente. sono definiti i seguenti tipi: Oltre all'opzione wgFileExtensions, le seguenti impostazioni possono causare file da rifiutati (anche se wgStrictFileExtensions falsi è impostato): Inoltre, MediaWiki rifiuta tutti i file che sembrano script che può essere eseguito accidentalmente sia sul web server o il browser degli utenti. In particolare, tutto ciò che si presenta come uno dei seguenti formati sarà respinta, indipendentemente dal tipo rilevato MIME o estensione del file: HTML, JavaScript, PHP, script di shell. Si noti che l'individuazione di HTML e JavaScript è piuttosto ampia, e può riferire falsi positivi è così perché il Microsoft Internet Explorer è noto per interpretare i file che assomigliano a HTML, indipendentemente dall'estensione del file o al tipo MIME riportato dal web server, che avrebbe portare al sito di essere vulnerabile ad attacchi di cross-site scripting. Se davvero si vuole consentire anche tali file pericolosi, è possibile incidere la funzione detectScript nel file UploadBase. php di restituire sempre false. tipi MIME quando il download di Modifica nota che il tipo MIME utilizzato quando il file reale è servita al browser gli utenti non è determinata da MediaWiki MIME-rilevamento: file non vengono serviti attraverso MediaWiki, ma direttamente dal server web. Così, il server Web deve essere configurato per utilizzare il tipo MIME corretto per ogni estensione di file, ad esempio, se si hanno problemi a visualizzare i file SVG nel browser, assicurarsi che il server sia configurato in modo da fornire loro come imagesvgxml. (Per Apache, leggere modmime). discussione più anziano sulla meta: SampoSarrala ho letto RFC-7231 un po 'diverso: quotIf un campo di intestazione Content-Type non è presente, il destinatario può o assumere un tipo di supporto di quotapplicationoctet-streamquot (RFC2046, sezione 4.5.1) o esaminare i dati per determinare la sua type. quot interpreto che, come dovremmo o non inviare Content-Type o siamo al sicuro per inviare applicationoctet-stream come default se non vogliamo che i clienti che giocano indovinelli con l'esame dei contenuti. ndash Jpnh 19 marzo 15 alle ore 20:30 Jpnh Sì, that39s destra. Content-Type intestazione non dovrebbe essere presente ogni volta che è sconosciuto. Si potrebbe anche inviare applicationoctet-stream che racconta fondamentalmente client che si quot don39t desidera visualizzare solo ora, ma andare avanti e salvare questi byte di file invece quot. Questo rende i client web offrono file di salvataggio. Opzione 1 Don39t sa nulla di questo file. contenuti Opzione 2 file can39t essere descritti usando il mimo o dovrebbe essere salvati solo su disco. In pratica, entrambe le opzioni sarebbe corretto. Avrei dovuto scegliere meglio formulazione per evitare confusione. ndash Sampo Sarrala 20 marzo 15 alle 7:57 quotArbitrary dataquot binario non è quotunknownquot. Utilizzando applicationoctet-stream si dice al browser che il tipo di contenuto è noto, non è un testo né un immagine ma arbitrari dati binari e di conseguenza deve essere scaricato in un file ed eventualmente eseguiti. Oltre ad essere sbagliato, questo è un buco di sicurezza, soprattutto se si considera appena visibili moderno download manager. La risposta giusta è alcuna intestazione Content-Type. Se don39t sa quale tipo di file è, il browser può conoscere in modo lasciarlo indovinare, soprattutto quando si nota il contesto di utilizzo ndash FFDev 1 marzo 16 alle 11:54 le risorse RFC (immagine, documento, lo script.): Noi dovrebbe usare RFC-7231 (HTTP1.1 Semantica e contenuto) come riferimento, invece di RFC-2046 (Tipi di media), in quanto questione era chiaramente su HTTP Content-Type. Anche RFC-2046 non definisce in modo chiaro i tipi sconosciuti ma RFC-7231 fa. Risposta breve: non inviare tipo MIME per i dati sconosciuti. Per essere più chiari: non usare header Content-Type a tutti. Riferimenti: RFC-7231 (Hypertext Transfer Protocol HTTP1.1): Semantica e contenuti 3.1.1.5. Content-Type Un mittente che genera un messaggio contenente un corpo carico utile dovrebbe generare un Content-Type campo di intestazione in quel messaggio a meno che il tipo di supporto prevista della rappresentazione allegata è sconosciuto al mittente. Quella sezione si dice chiaramente di lasciare fuori se non si sa di sicuro. Si dice anche che può assumere che tipo è applicationoctet-stream, ma cosa è che potrebbe anche essere qualcosa di diverso. Che cosa è diverso allora l'azione consigliata per un'implementazione che riceve un'entità applicationoctet-stream è quello di offrire semplicemente inserire i dati in un file, con qualsiasi annullata Content-Transfer-Encoding, o forse per usarlo come input per un processo specificato dall'utente . E, come già detto in precedenza: se un campo di intestazione Content-Type non è presente, il destinatario può o assumere un tipo di supporto di applicationoctet-stream (RFC2046, sezione 4.5.1) o esaminare i dati per determinarne il tipo. Conclusione: se si definisce come applicationoctet-stream, allora si sta dicendo che si sa che si tratta di applicationoctet-stream. Se non definirlo allora si sta dicendo che non sai di cosa si tratta e lasciare la decisione al ricevitore e può quindi verificare se cammina come un'anatra e. Jenson-button-evento Non ha nulla a che fare con reinventare la ruota. Il tipo MIME specifica il vostro intento. Se si sa che cosa you39re invio che dovrebbe essere una immagine png, passare queste informazioni insieme. Se i byte rappresentano accidentalmente un jpeg, l'applicazione può avvertire che it39s non è una png valida, e di avere un bug da qualche altra parte. Inoltre, non tutte le applicazioni sono così robuste e fault-tolerant come un browser. They39re progettato per correggere gli errori programmer39s, ma che è in nessun posto vicino it39s unico scopo. A non browser39s l'unica applicazione che utilizza i tipi MIME. ndash Aidiakapi 3 gennaio 15 a 20:44 Svish farla breve. application47octet-stream è per i dati di specifica applicazione, non per quando si sa che cosa don39t i dati rappresentano. Tralasciando il tipo MIME indica l'obiettivo di scoprire come analizzare esso stesso. Il tutto con tutto, se don39t lo sa, e don39t vuole fare uno sforzo per conoscere, basta inviare don39t tipi MIME. It39s tutto sulla comunicazione e interfacciamento, non si tratta di 39the browser può calcolarlo out39. Sì, è possibile, ma shouldn39t dovuto a meno che non si dice di. ndash Aidiakapi 15 aprile 15 a 13: 10What è un allegato MIME applicationoctet-stream, e come posso vedere un allegato MIME con il tipo di contenuto applicationoctet-stream è un file binario. Tipicamente, sarà un'applicazione o un documento che deve essere aperto in un'applicazione, quale un elaboratore foglio di calcolo o word. Se l'allegato è un estensione del file ad esso associati, si può essere in grado di dire che tipo di file si tratta. Una estensione. exe, ad esempio, indica che è un programma per Windows o DOS (eseguibile), mentre un file con estensione. doc è probabilmente destinata ad essere aperto in Microsoft Word. Non importa che tipo di file si tratta, un attaccamento applicationoctet-stream è raramente visibile in un client e-mail o web. Se si utilizza un client workstation basata, come Thunderbird o Outlook. l'applicazione dovrebbe essere in grado di estrarre e scaricare l'allegato automaticamente. Dopo aver scaricato un allegato tramite uno di questi metodi, è necessario quindi aprire l'allegato nell'applicazione appropriata per visualizzarne il contenuto. Prima di aprire gli allegati, anche da mittenti di fiducia, è necessario seguire le linee guida figuranti Suggerimenti per sicurezza online. Oltre al tipo di contenuto applicationoctet-stream generica, si può anche incontrare gli allegati che hanno diversi sottotipi (ad esempio applicationpostscript, applicationx-MacBinary, e l'applicazione-pdf). Sono simili ai applicationoctet-stream, ma si applicano a specifici tipi di file. Documenti correlati Si tratta di documento agtj nella Knowledge Base. Ultima modifica 2016/12/01 14:03:34. Compila questo modulo per inviare il tuo problema alla UITS Support Center. Si prega di notare che è necessario essere affiliato con Indiana University per ricevere supporto. Tutti i campi sono obbligatori. Compila questo modulo per inviare il commento alla UI Knowledge Base. Se sei un affiliato con l'Indiana University e ha bisogno di aiuto con un problema di calcolo, si prega di utilizzare il Ho bisogno di aiuto con una sezione problema di calcolo di cui sopra, oppure contattare il centro di assistenza campus.


No comments:

Post a Comment