El atributo de integridad se usa para otorgar permiso al navegador para verificar el script obtenido y asegurarse de que el código fuente nunca se cargue. Se utiliza para comprobar si el tercero ha alterado el recurso o no.
Subresource Integrity (SRI) es una función de seguridad desarrollada por w3comsortium que se utiliza para otorgar permiso a un navegador para verificar todos los scripts externos que se buscarían. Da seguridad de que los guiones no son alterados por terceros.
El proceso de trabajo de SRI va a seguir los siguientes pasos:
- La página web contiene el valor hash y, por otro lado, el servidor contiene el archivo .js.
- Ahora, el navegador coincide con el valor hash del atributo de integridad
- Al final, si el valor de hash coincide, el archivo se usa; de lo contrario, el archivo se bloquea.
Sintaxis
<script integrity="filehash">
Valores de atributos:
- filehash: Indica el valor hash del archivo script externo.
Ejemplo 1:
HTML
<!DOCTYPE html> <html> <head> <title> HTML script integrity Attribute </title> </head> <body style="text-align:center;"> <h1> GeeksForGeeks </h1> <h2> HTML script integrity Attribute </h2> <script id="myGeeks" type="text/javascript" src="my_script.js" integrity= "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"> </script> <br> <button>Submit</button> </body> </html>
Producción:
Ejemplo 2:
HTML
<!DOCTYPE html> <html> <head> <title> script tag </title> <style> body { text-align: center; } h1 { color: green; } </style> </head> <body> <h1>GeeksforGeeks</h1> <h2> HTML integrity Attribute in <script> Element </h2> <p id="Geeks"></p> <script charset="UTF-8" integrity= "e0d123e5f316bef78bfdf5a008837577OOo_2.0.1_LinuxIntel_install.tar.gz"> document.getElementById("Geeks") .innerHTML = "Hello GeeksforGeeks!"; </script> </body> </html>
Producción:
Navegadores compatibles:
- Google Chrome 45.0 y superior
- Borde 17.0 y superior
- Firefox 43.0 y superior
- Safari de Apple 11.1 y superior
- Ópera
Publicación traducida automáticamente
Artículo escrito por ManasChhabra2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA