Exemple fictif d'un résultat complet
Cette page présente une analyse fictive
destinée à montrer les informations pouvant être affichées par SHS.
Résumé
Algorithme MDN · v6
Note
A-
Score
85
Tests passés
8 / 12
Tests ratés
4
| Règle | Impact | Statut | Raison |
|---|---|---|---|
| -20 |
La politique CSP autorise unsafe-inline ou data: dans script-src, des sources trop larges comme https: dans object-src ou script-src, ou ne limite pas ces directives à des origines précises.
|
||
| +5 |
Tous les cookies sont sécurisés : le mode Secure est activé, les cookies de session ont HttpOnly, et la restriction inter-sites SameSite est appliquée.
|
||
| +10 |
La politique COEP est définie sur require-corp. Les ressources provenant d’autres origines doivent autoriser explicitement leur chargement via CORS ou une politique CORP appropriée.
|
||
| +10 |
La politique COOP est définie sur same-origin. Elle isole le contexte de navigation des documents d’autres origines ou utilisant une politique incompatible, limitant les interactions entre fenêtres.
|
||
| 0 |
Aucune configuration CORS (fichier ou en-tête) n’est présente.
|
||
| 0 |
La redirection initiale passe en HTTPS sur le même hôte, et la destination finale est également en HTTPS.
|
||
| -5 |
L’en-tête Referrer-Policy est défini de manière peu sûre (origin, origin-when-cross-origin, unsafe-url ou no-referrer-when-downgrade).
|
||
| 0 |
L’en-tête Strict-Transport-Security est défini avec une durée minimale de six mois (15768000 secondes).
|
||
| -5 |
L’intégrité des sous-ressources (SRI) n’est pas activée, mais tous les scripts externes sont chargés via HTTPS sécurisé.
|
||
| -5 |
L’en-tête X-Content-Type-Options n’est pas présent.
|
||
| +5 |
L’option X-Frame-Options (XFO) est activée via la directive frame-ancestors de la politique CSP.
|
||
| 0 |
La politique Cross-Origin Resource Policy (CORP) n’est pas présente - le comportement par défaut autorise l’accès aux ressources depuis d’autres origines (cross-origin).
|
| Nom | Domaine | Path | Secure | HttpOnly | SameSite | Expiration |
|---|---|---|---|---|---|---|
session_demo
|
.exemple.fr | / | Lax | — |
Enforcement
| Directive | Valeur |
|---|---|
script-src
|
'self' 'unsafe-inline' https: |
frame-ancestors
|
'self' |
| Nom | Valeur |
|---|---|
accept-ch
|
['Sec-CH-UA,Sec-CH-UA-Mobile,Sec-CH-UA-Platform,Sec-CH-UA-Arch,Sec-CH-UA-Full-Version-List,Sec-CH-UA-Model,Sec-CH-Device-Memory'] |
content-language
|
['fr'] |
etag
|
['W/"demo-20261013"'] |
expires
|
['0'] |
cache-control
|
['max-age=0, private, no-cache, no-store, must-revalidate'] |
charset
|
['utf-8'] |
connection
|
['close'] |
content-length
|
['774'] |
content-security-policy
|
["script-src 'self' 'unsafe-inline' https:; frame-ancestors 'self';"] |
content-security-policy-report-only
|
["object-src 'none'; frame-ancestors 'self'; report-uri https://www.exemple.fr/csp-report/;"] |
cross-origin-embedder-policy
|
['require-corp'] |
cross-origin-opener-policy
|
['same-origin'] |
content-type
|
['text/html;charset=utf-8'] |
date
|
['Tue, 13 Oct 2026 10:18:31 GMT'] |
pragma
|
['no-cache'] |
referrer-policy
|
['no-referrer-when-downgrade'] |
set-cookie
|
['session_demo=EXEMPLE_FICTIF_0123456789abcdef; Max-Age=31536000; Domain=.exemple.fr; Path=/; Secure; HttpOnly; SameSite=Lax'] |
strict-transport-security
|
['max-age=15768000'] |
via
|
['1.1 edge-01.exemple.fr'] |
x-amz-cf-id
|
['DEMO-CF-ID-0123456789'] |
x-amz-cf-pop
|
['PAR01-DEMO'] |
x-cache
|
['Miss from demo-cache'] |
x-session_demo
|
['enabled'] |
x-session_demo-cid
|
['DEMO-CID-0123456789'] |
x-demo-b
|
['3'] |
content-security-policy
| Attente | Résultat |
|---|---|
| csp-implemented-with-no-unsafe | csp-implemented-with-unsafe-inline |
| Modification du score | Validation |
|---|---|
| -20 | — |
| Données brutes |
|---|
| {'data': {'script-src': ["'self'", "'unsafe-inline'", 'https:'], 'frame-ancestors': ["'self'"]}, 'http': True, 'meta': False, 'policy': {'unsafeEval': False, 'defaultNone': False, 'unsafeInline': True, 'strictDynamic': False, 'unsafeObjects': False, 'insecureBaseUri': False, 'antiClickjacking': True, 'unsafeInlineStyle': False, 'insecureFormAction': False, 'insecureSchemeActive': True, 'insecureSchemePassive': False}, 'numPolicies': 1} |
cookies
| Attente | Résultat |
|---|---|
| cookies-secure-with-httponly-sessions | cookies-secure-with-httponly-sessions-and-samesite |
| Modification du score | Validation |
|---|---|
| 5 | True |
| Données brutes |
|---|
| {'data': {'session_demo': {'path': '/', 'port': None, 'domain': 'exemple.fr', 'secure': True, 'httponly': True, 'max-age': 31536000, 'samesite': 'lax'}}, 'sameSite': True} |
cross-origin-embedder-policy
| Attente | Résultat |
|---|---|
| coep-implemented-with-require-corp | coep-implemented-with-require-corp |
| Modification du score | Validation |
|---|---|
| 10 | True |
| Données brutes |
|---|
| {'data': 'require-corp', 'http': True, 'meta': False} |
cross-origin-opener-policy
| Attente | Résultat |
|---|---|
| coop-implemented-with-same-origin | coop-implemented-with-same-origin |
| Modification du score | Validation |
|---|---|
| 10 | True |
| Données brutes |
|---|
| {'data': 'same-origin', 'http': True, 'meta': False} |
cross-origin-resource-sharing
| Attente | Résultat |
|---|---|
| cross-origin-resource-sharing-not-implemented | cross-origin-resource-sharing-not-implemented |
| Modification du score | Validation |
|---|---|
| — | True |
| Données brutes |
|---|
| {'data': None} |
redirection
| Attente | Résultat |
|---|---|
| redirection-to-https | redirection-to-https |
| Modification du score | Validation |
|---|---|
| — | True |
| Données brutes |
|---|
| {'route': ['http://www.exemple.fr/', 'https://www.exemple.fr/'], 'redirects': True, 'statusCode': 403, 'destination': 'https://www.exemple.fr/'} |
referrer-policy
| Attente | Résultat |
|---|---|
| referrer-policy-private | referrer-policy-unsafe |
| Modification du score | Validation |
|---|---|
| -5 | — |
| Données brutes |
|---|
| {'data': 'no-referrer-when-downgrade', 'http': True, 'meta': False} |
strict-transport-security
| Attente | Résultat |
|---|---|
| hsts-implemented-max-age-at-least-six-months | hsts-implemented-max-age-at-least-six-months |
| Modification du score | Validation |
|---|---|
| — | True |
| Données brutes |
|---|
| {'data': 'max-age=15768000', 'maxAge': 15768000, 'preload': False, 'preloaded': False, 'includeSubDomains': False} |
subresource-integrity
| Attente | Résultat |
|---|---|
| sri-implemented-and-external-scripts-loaded-securely | sri-not-implemented-but-external-scripts-loaded-securely |
| Modification du score | Validation |
|---|---|
| -5 | — |
| Données brutes |
|---|
| {'data': {'https://cdn.exemple.fr/app.js': {'integrity': None, 'crossorigin': None}}} |
x-content-type-options
| Attente | Résultat |
|---|---|
| x-content-type-options-nosniff | x-content-type-options-not-implemented |
| Modification du score | Validation |
|---|---|
| -5 | — |
| Données brutes |
|---|
| {'data': None} |
x-frame-options
| Attente | Résultat |
|---|---|
| x-frame-options-sameorigin-or-deny | x-frame-options-implemented-via-csp |
| Modification du score | Validation |
|---|---|
| 5 | True |
| Données brutes |
|---|
| {'data': None} |
cross-origin-resource-policy
| Attente | Résultat |
|---|---|
| corp-implemented-with-same-site | corp-not-implemented |
| Modification du score | Validation |
|---|---|
| — | True |
| Données brutes |
|---|
| {'data': None, 'http': False, 'meta': False} |