Ir al contenido principal
Bethemesh
GuíaBuenas prácticasPrincipiante

Subresource Integrity (SRI): verificar la integridad de recursos externos

Comprende cómo los hashes SRI detectan cambios inesperados en scripts y hojas de estilo externos y cuáles son sus límites.

Publicado el 29 de agosto de 2026Lectura : 2 minPor Yann Bastien
Mostrar el índice
  1. El hash corresponde a la versión exacta
  2. Los recursos cross-origin necesitan condiciones CORS compatibles
  3. SRI encaja mejor con recursos estáticos versionados
  4. Integridad no significa confianza

Subresource Integrity (SRI) permite declarar el hash criptográfico esperado de un script o una hoja de estilo externos. Si los bytes descargados no coinciden, el navegador no utiliza el recurso.

El hash corresponde a la versión exacta

SRI trabaja sobre los bytes reales. Cualquier modificación, incluso mínima, cambia el digest. Genera por tanto el valor a partir de la misma versión que se publicará, por ejemplo con el generador de hash SRI.

SHA-256, SHA-384 y SHA-512 son algoritmos admitidos por SRI. El resultado se coloca en el atributo integrity de un elemento <script> o <link>.

Los recursos cross-origin necesitan condiciones CORS compatibles

Cuando el recurso procede de otro origen, la respuesta debe permitir que el navegador realice la comprobación de integridad. El atributo crossorigin y las cabeceras CORS del servidor tienen que ser coherentes.

SRI encaja mejor con recursos estáticos versionados

Es especialmente útil cuando se fija una versión concreta de un script o CSS servido por CDN. En recursos que cambian con frecuencia o se generan de forma dinámica, mantener el hash resulta más difícil porque cada cambio exige regenerarlo.

Integridad no significa confianza

SRI confirma que los bytes recibidos coinciden con los esperados. No decide si el código aprobado era seguro desde el principio. Para entender mejor qué demuestra una huella criptográfica, consulta Hashes e integridad. Junto con una CSP, SRI puede formar parte de una estrategia más amplia de seguridad en el navegador.

¿Te ha resultado útil este artículo?