Was ist integrity / Subresource Integrity (SRI)?
Das integrity-Attribut in einem - oder -Tag stellt sicher, dass die geladene Datei (z. B. JavaScript oder CSS) nicht manipuliert wurde. Der Browser vergleicht die geladene Datei mit dem angegebenen Hashwert – bei Abweichung wird sie blockiert.
Beispiel:
``html ``
So erzeugst du einen integrity-Hash:
Methode 1: Mit dem srihash.org-Webtool
- Website: https://www.srihash.org/
- Einfach URL oder Datei hochladen → du bekommst den fertigen Tag.
Methode 2: Per CLI mit openssl
```bash
Für eine lokale Datei (z. B. script.js)
openssl dgst -sha384 -binary script.js | openssl base64 -A ```
Dann so verwenden:
``html ``
Methode 3: Mit Node.js
```js const crypto = require("crypto"); const fs = require("fs");
const file = fs.readFileSync("script.js"); const hash = crypto.createHash("sha384").update(file).digest("base64");
console.log(sha384-${hash}); ```
Wichtig:
- Immer den richtigen Hash-Algorithmus angeben: meist
sha384. - Datei darf nicht verändert werden, sonst passt der Hash nicht mehr.
- Für CDNs wie jsDelivr oder CDNJS findest du die SRI-Hashes oft direkt auf deren Seiten.