Attributo allow dell'iframe non funziona

Ho aggiunto un iframe di CodeSandbox con diversi attributi, ma Discourse sta acquisendo solo l’src. Dovrei modificare qualcosa nelle impostazioni di Discourse? Ho già consentito questo iframe e viene visualizzato, ma non correttamente.

Questo è l’iframe che sto cercando di aggiungere:

<iframe 
  src="https://codesandbox.io/embed/codesandbox-frontity-rnclp?fontsize=14" 
  title="Frontity - Post with recompose" 
  allow="geolocation; microphone; camera; midi; vr; accelerometer; gyroscope; payment; ambient-light-sensor; encrypted-media; usb" 
  style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;" 
  sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"
></iframe>

Ma viene visualizzato solo questo:

Need_to_integrate_react-stripe-elements_-%F0%9F%A4%97_Dev_Talk___Questions-_Frontity_Community_Forum

Quindi l’iframe non viene visualizzato correttamente:

3 Mi Piace

It works for me

Just to be sure, did you add the iframe url (https://codesandbox.io/embed/codesandbox-frontity-rnclp) in whitelist? If not, search the site setting allowed iframes.

1 Mi Piace

I have this domain: https://codesandbox.io/. Shouldn’t be enough? I have found this code at Discourse where it whitelists just some iframe attributes:

If I include the attributes height and weight the iframe works fine, but I would like to allow the other attributes too.

Is there a way of allowing all codesandbox iframes? I thought including just the domain it would work.

Thank you!

EDIT:

I have tried adding this url in whitelist but it is not working neither.

3 Mi Piace

Anche io sto riscontrando questo problema. Vorrei aggiungere una classe all’IFRAME che incorporo nel mio articolo sulla privacy, il quale integra le impostazioni di tracciamento della privacy dalla nostra installazione di Matomo in hosting autonomo. Questo mi permetterebbe di aggiungere un bordo più evidente e qualche colore per differenziarlo dal resto della politica sulla privacy.

Nonostante abbia inserito un class="foo" nell’elemento IFRAME, questo viene rimosso, apparentemente dal codice white-lister mostrato sopra. C’è la possibilità di estenderlo per consentire alcuni attributi aggiuntivi?

Per motivi di sicurezza, siamo molto rigidi riguardo agli attributi HTML che possono essere resi nella nostra pagina quando provengono da input dell’utente.

Ecco cosa puoi fare per ottenere questo risultato:

<div data-my-special-attr="42">
  <iframe src="http://example.com">
</div>

e successivamente seleziona quel elemento con il tuo selettore CSS / JS:

div[data-my-special-attr="42"] > iframe {
  border-color: pink;
}
3 Mi Piace

Grazie! Ha funzionato sia sulla pagina dell’argomento che nella pagina speciale del modulo privacy renderizzato.

Da notare: se qualcuno sta cercando di fare lo stesso, non è possibile aggiungere un attributo class; è necessario aggiungere un attributo del tipo data-foo-attr.

1 Mi Piace

Grazie per la dichiarazione, Rafael; chiarisce il comportamento che ho osservato.
Vorrei sapere se avete intenzione di rilasciare quel blocco per gli attributi audio/video di un iframe. I browser moderni gestiscono l’accessibilità piuttosto bene per queste funzionalità, e ci sono sempre più interessanti offerte di servizi che gli utenti potrebbero integrare splendidamente, ma che purtroppo mancano di questo tipo di accessibilità.
Grazie.

1 Mi Piace

Siamo sempre aperti ai feedback!

È più facile se parliamo di dettagli specifici, come quali attributi esatti si desidera mettere in lista bianca e per quali servizi sono necessari.

2 Mi Piace

Ok. Penso in particolare a Jam Systems / Jam · GitLab, che avrebbe bisogno di un parametro allow=“microphone *;” per funzionare correttamente.

Sto riscontrando lo stesso problema nel tentativo di incorporare un registratore audio H5P; l’opzione allow="microphone *;" viene rimossa dall’iframe.

Cosa sarebbe necessario per introdurre magari una configurazione per gli iframe che ne permetta l’uso?

Possiamo consentire agli amministratori di specificare quali attributi iframe desiderano consentire?

1 Mi Piace

Sarebbe utile, ma saremmo anche felici se l’attributo allow fosse incluso nella whitelist per tutti. Attualmente stiamo riscontrando problemi di riproduzione audio con i lettori di podcast Apple e Spotify incorporati. Come altri hanno già menzionato, il problema è che l’attributo allow viene rimosso, il quale contiene una direttiva importante encrypted-media.

1 Mi Piace

Dato che siamo già rigorosi riguardo a quali domini possono essere utilizzati negli iframe, avere un’altra impostazione in cui impostiamo la stringa allow per ogni iframe e analizziamo il formato strano del contenuto allow mi sembra un po’ troppo.

Ho creato una PR che semplicemente permette di usare qualsiasi cosa nell’attributo allow per gli iframe già permessi:

Cosa ne pensi @sam?

3 Mi Piace

Hmm, immagino di essere d’accordo, vedo la tua logica qui, @david hai obiezioni?

1 Mi Piace

Questa modifica è stata unita @santosguillamot @selfscrum @cogdog @gilby

3 Mi Piace