# require-sri-for (/fr/docs/web-security/policies/content-security-policy/directives/require-sri-for)



La directive `require-sri-for` de la politique de sécurité du contenu (CSP) devait imposer les vérifications [Subresource Integrity (SRI)](/fr/docs/web-security/other/subresource-integrity) sur les scripts et les feuilles de style, en bloquant ceux dépourvus d'attribut `integrity`. Elle n'a jamais été livrée dans un navigateur stable et a été abandonnée.

<Callout type="error" title="Obsolète">
  `require-sri-for` n'a jamais atteint la version stable ; elle n'a existé que derrière un drapeau expérimental de Chrome et a été abandonnée pour risque de compatibilité (trop de pages auraient cassé une fois l'exigence activée). Sa conception a été reprise dans le header [Integrity-Policy](/fr/docs/web-security/policies/integrity-policy), qui est le remplacement.
</Callout>

Utilisez plutôt le remplacement :

```http
Integrity-Policy: blocked-destinations=(script)
```

## Ce qu'il faut faire à la place [#ce-quil-faut-faire-à-la-place]

Utilisez le header [Integrity-Policy](/fr/docs/web-security/policies/integrity-policy), qui a repris le même objectif : exiger SRI sur les ressources qu'une page charge. L'exemple ci-dessus bloque les scripts dépourvus de métadonnées d'intégrité.

Supprimez `require-sri-for` de toute politique qui la porte encore ; elle n'a aucun effet dans aucun navigateur. Pour ajouter les attributs `integrity` eux-mêmes, notre [guide SRI](/fr/docs/web-security/other/subresource-integrity) couvre la mécanique, et le [générateur SRI](/tools/sri-hash) calcule les hashes pour vous.

## Pourquoi elle a été retirée [#pourquoi-elle-a-été-retirée]

`require-sri-for` n'a jamais fonctionné que derrière un drapeau expérimental dans Chrome et n'a atteint la version stable d'aucun navigateur. Elle a été abandonnée pour risque de compatibilité : trop de pages auraient cassé dès l'activation de l'exigence. Sa conception a ensuite été reprise dans le header `Integrity-Policy`, qui est livré avec une variante report-only pour que les sites mesurent la casse avant d'appliquer.

## Prise en charge par les navigateurs [#prise-en-charge-par-les-navigateurs]

Aucun navigateur ne prend en charge `require-sri-for`. Elle n'a existé que derrière un drapeau expérimental de Chrome et n'a jamais été livrée par Firefox ni Safari. Le header [Integrity-Policy](/fr/docs/web-security/policies/integrity-policy) est la voie prise en charge pour exiger SRI.

## Voir aussi [#voir-aussi]

* [Integrity-Policy](/fr/docs/web-security/policies/integrity-policy), le header qui l'a remplacée
* [Subresource Integrity](/fr/docs/web-security/other/subresource-integrity)
* [Index des directives](/fr/docs/web-security/policies/content-security-policy/introduction/csp-directives)
* [Générer des hashes SRI](/tools/sri-hash) avec le générateur SRI

## Sources [#sources]

* [Chrome Platform Status, require-sri-for](https://chromestatus.com/feature/5635811978510336)
* [MDN, Integrity-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Integrity-Policy)
