"No publicar contenido a través de HTTP": ¿qué significa esto exactamente?

3

Al hacer una investigación sobre SSL, encontré este tema . Una de las sugerencias comunes fue no servir contenido a través de HTTP. ¿Qué significa eso de un desarrollo de sitio web POV? ¿Hace referencia a cosas como hojas de estilo con una URL https completa? ¿Algo más?

    
pregunta Major Productions 08.11.2012 - 03:12
fuente

2 respuestas

7

Significa usar siempre la capa SSL al servir páginas. Los enlaces no necesitan ser absolutos, pero el tráfico recibido en el puerto 80 sin SSL se debe redirigir al puerto 443 con SSL. El resto de la magia está en evitar ataques donde el usuario no visita el sitio SSL primero y el redireccionamiento se piratea utilizando algo como SSLstrip . Esto se trata en esta pregunta: ¿Opciones al defenderse contra SSLstrip?

    
respondido por el Jeff Ferland 08.11.2012 - 03:34
fuente
3

Significa que todo el contenido y los recursos deben servirse a través de HTTPS (no HTTP). Se debe hacer referencia a los scripts locales, las hojas de estilo y las imágenes con una URL que finalmente cargará el recurso a través de HTTPS, no de HTTP.

Una forma de lograr esto es asegurarse de que todas las URL sean absolutas y estén completamente calificadas, y comenzar con https :.

Alternativamente, puedes seguir usando las URL relativas, siempre y cuando verifiques que finalmente se resolverán en una https: URL.

Por ejemplo, suponga que tiene una página https://example.com/foo.html . Aquí hay algunos ejemplos de fragmentos de código que están bien / no están bien para incluir en esa página:

  • 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"> (esta es una URL relativa, que usa el mismo protocolo que la página que contiene, pero un host diferente)

  • Malo: <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">

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

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

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

Espero que esto tenga sentido.

    
respondido por el D.W. 08.11.2012 - 08:49
fuente

Lea otras preguntas en las etiquetas