"Non pubblicare contenuti su HTTP" - cosa significa esattamente?

3

Nel fare alcune ricerche riguardanti SSL, mi sono imbattuto in questo argomento . Uno dei suggerimenti più comuni non era quello di pubblicare contenuti su HTTP. Cosa significa questo da un POV di sviluppo di siti web? Fare riferimento a cose come fogli di stile con un URL https completo? Qualcos'altro?

    
posta Major Productions 08.11.2012 - 03:12
fonte

2 risposte

7

Significa utilizzare sempre il livello SSL durante la pubblicazione delle pagine. I collegamenti non devono essere assoluti, ma il traffico ricevuto sulla porta 80 senza SSL deve essere reindirizzato alla porta 443 con SSL. Il resto della magia consiste nell'evitare attacchi in cui l'utente non visita prima il sito SSL e il reindirizzamento viene dirottato usando qualcosa come SSLstrip . Questo è coperto da questa domanda: Opzioni per la difesa contro SSLstrip?

    
risposta data 08.11.2012 - 03:34
fonte
3

Significa che tutto il contenuto e le risorse devono essere offerti su HTTPS (non su HTTP). Gli script locali, i fogli di stile e le immagini devono essere referenziati con un URL che alla fine caricherà la risorsa su HTTPS, non su HTTP.

Un modo per ottenere ciò è assicurarsi che tutti gli URL siano assoluti e pienamente qualificati e iniziare con https:.

In alternativa, puoi continuare a utilizzare gli URL relativi, purché tu verifichi che alla fine si risolveranno su un https: URL.

Ad esempio, supponi di avere una pagina https://example.com/foo.html . Ecco alcuni esempi di snippet che sono OK / non OK da includere in quella pagina:

  • OK: <IMG SRC="https://example.com/pic.png">

  • OK: <IMG SRC="/pic.png">

  • OK: <IMG SRC="https://elsewhere.com/pic.png">

  • OK: <IMG SRC="//elsewhere.com/cats.png"> (questo è un URL relativo, che utilizza lo stesso protocollo della pagina contenente, ma un host diverso)

  • Bad: <IMG SRC="http://example.com/pic.png">

  • OK: <IFRAME SRC="https://example.com/bar.html">

  • OK: <IFRAME SRC="https://elsewhere.com/blah.html">

  • OK: <SCRIPT SRC="https://example.com/jquery.js">

  • OK: <LINK HREF="https://example.com/mystyle.css">

  • Bad: <SCRIPT SRC="http://somewhere.com/jquery.js">

  • Bad: <LINK HREF="http://somewhere.com/mystyle.css">

  • Bad: <IFRAME SRC="http://somewhere.com/blah.html">

Spero che abbia senso.

    
risposta data 08.11.2012 - 08:49
fonte

Leggi altre domande sui tag