Cosa filtrano effettivamente unfiltered_html e unfiltered_upload?


8

Tra le funzionalità di WordPress ci sono unfiltered_htmle unfiltered_upload, tuttavia, non ho ancora trovato alcuna documentazione su ciò che specificamente consentono o impediscono nel loro filtraggio.

L'unica menzione che ho trovato sul sito di WordPress unfiltered_htmlè:

Consente all'utente di pubblicare markup HTML o persino codice JavaScript in pagine, post, commenti e widget.

Ho visto che JavaScript è filtrato per i non amministratori, ma quale HTML viene filtrato?

E per unfiltered_upload:

Questa funzionalità non è disponibile per nessun ruolo per impostazione predefinita (inclusi Super amministratori). È necessario abilitare la capacità definendo la seguente costante:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

Con questa costante definita, a tutti i ruoli in un'installazione su un singolo sito può essere data la capacità unfiltered_upload, ma solo a Super Admins può essere data la possibilità su un'installazione su più siti.

E ancora, la descrizione non specifica ciò che è permesso e ciò che è filtrato.

Qualcuno mi può dire esattamente quali elementi, tipo il codice, o di file unfiltered_htmle unfiltered_uploadfunzionalità consentono o impediscono?

Risposte:


7

È difficile trovare una risposta precisa poiché le capacità sono spesso utilizzate in modo più ampio di quanto implicino. Ad esempio, controllare per manage_optionsè di solito sinonimo di controllo per l'utente amministratore e può presentarsi in contesti che in realtà non hanno molto a che fare con le opzioni .

Di solito sarà una differenza tra il contenuto del soggetto che passa o meno wp_kses(). Impostazioni specifiche di kses e ciò che è considerato consentito dipenderebbero dal contesto e potrebbero essere diffidenti.

Per unfiltered_uploadquanto mi ricordo è più semplice. Senza di essa sono ammessi solo i tipi di file elencati in bianco. L'elenco è basato su wp_get_mime_types().


1
Nel file wp-includes/kses.phppuoi trovare i valori iniziali $allowedposttagse gli $allowedtagsarray usati dalle funzioni di kses.
Milo,

Grazie per la spiegazione. Sembra che i tipi MIME per i caricamenti siano disponibili su core.trac.wordpress.org/browser/tags/4.3/src/wp-includes/… . Qualche idea su dove unfiltered_htmlpotrebbe trovarsi il codice a cui fa riferimento ?
j08691,

unfiltered_htmlè schizzato in tutta la base di codice. La rete di ricerca rapida di reti contiene oltre una dozzina di file diversi che lo citano.
Rarst

Qualcuno può lavorare su questo. Attualmente è un incubo impossibile caricare file multimediali non autorizzati. Nessuno dei plugin funziona correttamente. Wordpress è un CMS - sì, certo. È un sistema di gestione MIS contenuto.
Jim Maguire,

1
questa domanda ci ha letteralmente salvato la vita, abbiamo cercato per giorni una soluzione al problema che si era diffuso, abbiamo un tipo di post personalizzato che deve essere gestito da clienti che generano i loro post con script attivi e file SVG e, , il problema non era con il salvataggio dei messaggi, il problema era che WP li ha completamente eliminati,. questo ci ha dato la giusta direzione e il giusto capuso, grazie
Kresimir Pendic,

4

Apprezzo che questo sia un vecchio thread, ma la limitazione unfiltered_html ci stava causando enormi problemi sul nostro sito di notizie.

Gli scrittori interni (una classe speciale di utenti) sono tenuti a inserire foto e video nella loro storia. Mentre le foto non sono un problema, l'incorporazione di iframe nella pagina con il codice video incorporato ha visto svanire il codice incorporato quando hanno salvato le loro storie.

Se il video fosse stato incorporato per loro da un editore, gli autori avrebbero comunque perso l'iframe quando avessero salvato le loro storie.

Sbloccando unfiltered_html i nostri autori del personale possono incorporare i contenuti video e organizzare correttamente i loro post.

Per quanto riguarda unfiltered_uploads, credo che sia stata data una risposta.

Spero che questo aiuti qualcuno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.