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.
<a> que abren en nuevas pestañas): rel="noopener noreferrer"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><iframe>): El atributo sandboxsandbox 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.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.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><script>, <link rel="stylesheet">): El atributo integrity (Subresource Integrity - SRI)<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.