¿Existen atributos para mejorar la seguridad en HTML?

HTML ofrece atributos para mejorar la seguridad: rel="noopener noreferrer" en enlaces, sandbox en iframes, e integrity para scripts. ¡Protege tu web!

LucusHost, el mejor hosting

20% DESCUENTO ALOJAMIENTO WEB

Sí, HTML cuenta con varios atributos que, aunque no solucionan todos los problemas de seguridad web por sí solos (la seguridad es un esfuerzo conjunto que involucra al servidor, JavaScript, y buenas prácticas de desarrollo), sí contribuyen significativamente a mitigar ciertos riesgos y a fortalecer tus páginas.

  1. Para Enlaces (<a> que abren en nuevas pestañas): rel="noopener noreferrer"
    • Cuando tienes un enlace que se abre en una nueva pestaña o ventana usando target="_blank", es una práctica de seguridad crucial añadir el atributo rel con los valores noopener y noreferrer.
    • noopener: Impide que la página recién abierta tenga acceso al objeto window.opener de la página original. Esto protege contra un tipo de ataque llamado «tabnabbing» o «reverse tabnabbing», donde la nueva pestaña podría cambiar la URL de la pestaña original a un sitio malicioso (phishing) sin que te des cuenta.
    • noreferrer: Evita que el navegador envíe la cabecera HTTP Referer al sitio de destino. Esto significa que el sitio de destino no sabrá desde qué página llegó el usuario, lo cual es bueno para la privacidad y también puede ser un pequeño plus de seguridad al no revelar información de tu sitio. <a href="https://un-sitio-externo.com" target="_blank" rel="noopener noreferrer">Visitar sitio externo (seguro)</a>
  2. Para Iframes (<iframe>): El atributo sandbox
    • El atributo sandbox aplica un conjunto de restricciones de seguridad al contenido incrustado dentro de un <iframe>. Es especialmente útil cuando incrustas contenido de terceros que podría no ser completamente confiable.
    • Por defecto (si se usa sandbox sin valor o con un valor vacío), el iframe no podrá ejecutar scripts, enviar formularios, abrir ventanas emergentes (pop-ups), acceder a cookies o al almacenamiento local de la página padre, ni navegar por la página contenedora, entre otras restricciones.
    • Puedes relajar selectivamente estas restricciones añadiendo directivas específicas como allow-scripts, allow-forms, allow-popups, allow-same-origin, etc. (ej. sandbox="allow-scripts allow-same-origin"). Úsalas con precaución y solo si son estrictamente necesarias. <iframe src="widget_externo.html" sandbox="allow-scripts allow-popups" title="Widget interactivo"></iframe>
  3. Para Scripts y Hojas de Estilo Externas (<script>, <link rel="stylesheet">): El atributo integrity (Subresource Integrity - SRI)
    • Este atributo permite al navegador verificar que los archivos que carga desde fuentes externas (especialmente de CDNs o Redes de Distribución de Contenido) no han sido manipulados o alterados en tránsito o en el servidor de origen (por ejemplo, si el CDN es comprometido).
    • Funciona proporcionando un hash criptográfico (por ejemplo, SHA-256, SHA-384 o SHA-512) del contenido esperado del archivo. El navegador descarga el archivo, calcula su propio hash y lo compara con el que tú proporcionaste. Si no coinciden, el navegador se negará a ejecutar el script o aplicar la hoja de estilo. <script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> El atributo crossorigin="anonymous" es a menudo necesario para que SRI funcione correctamente con recursos de terceros.

Además de estos atributos HTML, es fundamental conocer y aplicar la Content Security Policy (CSP). Aunque CSP se configura principalmente a través de cabeceras HTTP enviadas por el servidor, también se puede definir una política usando la etiqueta <meta http-equiv="Content-Security-Policy" content="...">. CSP es una capa de seguridad muy potente que ayuda a prevenir ataques de Cross-Site Scripting (XSS) y otros ataques de inyección, al permitirte especificar qué recursos dinámicos tiene permitido cargar el navegador.

¿Tienes alguna duda o pregunta?Envía el formulario y procuraré darle respuesta
Formulario de pregunta
Responsable » Jose Ramón Bernabeu Guillem. Finalidad » Ponernos en contacto. Legitimación » Tu consentimiento al marcar la casilla verificación. Destinatarios » Los datos que proporciones estarán ubicados en los servidores de LucusHost, proveedor de hosting de este sitio. Derechos » por supuesto tendrás derecho, entre otros, a acceder, rectificar, limitar y suprimir tus datos.
Si creees que esto puede ser de utilidad a alguien más, pues... compártelo que es gratis 🙂
Sitio alojado en un servidor verde según The Green Web Foundation

20% DESCUENTO ALOJAMIENTO WEB

LucusHost, el mejor hosting

Aviso legal | Condiciones de contratación | Política de privacidad | Política de cookies
© 2017-2025 · Jose R. Bernabeu ·
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram