Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

inlineScriptHashes

función Desde 1.3.0

Calcula el hash SHA-256 (base64) de cada <script> en línea de un documento HTML que el navegador comprueba con script-src: los de JavaScript, module, importmap y speculationrules. Los bloques de datos (application/json, application/ld+json, el payload de Meeko) y los scripts con src no cuentan. El texto se lee como lo hace el navegador, así que el hash coincide con el que comprueba.

ts
import { inlineScriptHashes } from "@meekojs/meeko/build";

Código fuente src/framework/script-hashes.ts:57

Firma #

ts
function inlineScriptHashes(html: string): InlineScriptReport

Parámetros #

html string

Documento HTML completo.

Devuelve #

InlineScriptReport

Los hashes como fuentes CSP y el JavaScript que un hash no puede permitir.

Ejemplo #

ts
import { readFile } from "node:fs/promises";
import { inlineScriptHashes } from "@meekojs/meeko/build";
import { contentSecurityPolicy } from "@meekojs/meeko/server";

const { hashes, unhashable } = inlineScriptHashes(await readFile("dist/index.html", "utf8"));
if (unhashable.length) throw new Error(`JavaScript en línea sin hash: ${unhashable.join(", ")}`);
const header = contentSecurityPolicy({ "default-src": ["'self'"] }, hashes);

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/framework/script-hashes.ts