2016-05-05 28 views
11

Sto forzando https per accedere al mio sito Web, ma alcuni dei contenuti devono essere caricati su http (ad esempio il contenuto del video non può essere superiore a https), ma i browser bloccano la richiesta a causa della politica mixed-contents.Come posso consentire i contenuti misti (http con https) utilizzando il meta tag content-security-policy?

Dopo ore di ricerca ho scoperto che posso usare Content-Security-Policy ma non ho idea di come consentire contenuti misti con esso.

<meta http-equiv="Content-Security-Policy" content="????"> 

risposta

10

Non è possibile.

CSP è lì per limitare il contenuto del sito Web, non per allentare le restrizioni del browser.

I siti https protetti offrono agli utenti determinate garanzie e non è proprio corretto consentire il caricamento del contenuto http su di esso (quindi gli avvisi sui contenuti misti) e in realtà non è giusto se si possano nascondere questi avvisi senza il consenso dell'utente.

È possibile utilizzare CSP per un paio di cose per aiutare la migrazione a https, ad esempio:

  1. È possibile utilizzarlo per aggiornare automaticamente richiesta http a https (anche se il supporto del browser non è universale) . Questo ti aiuta nel caso in cui tu abbia perso la modifica di un link http all'equivalente https. Tuttavia, questo presuppone che la risorsa possa essere caricata su https e sembra che tu non possa caricarli su https, quindi non è un'opzione.

  2. È inoltre possibile utilizzare CSP per identificare eventuali risorse http sul sito che si sono perse riportando un messaggio a un servizio che è possibile monitorare per indicare che è stata tentata di caricare una risorsa http. Ciò consente di identificare e correggere i collegamenti http a https in modo da non dover dipendere dall'aggiornamento automatico di cui sopra.

Ma nessuno è quello che stai veramente cercando.

+0

la sicurezza può essere allentata tramite l'intestazione di risposta dell'origine? Stavo esaminando il meta tag come sembrava più facile da aggiungere. –

+0

No. È usato solo per stringere la politica di sicurezza, non per allentarla. Come menzionato nella mia risposta. –

1

Non si dovrebbe ... ma si PUO, la funzione è dimostrata here un'immagine PNG HTTP convertita al volo su HTTPS.

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 

C'è anche una nuova API di autorizzazioni, described here, che consente a un server Web per verificare le autorizzazioni dell'utente per funzioni come la geolocalizzazione, spinta, la notifica e Web MIDI.