Check Detail
moore.media · HEADER
Incomplete
Grade D
46.2%
Result Detail
HEADERAlerts
- Strict-Transport-Security: Strict-Transport-Security missing
- Content-Security-Policy: Content-Security-Policy missing
- Permissions-Policy: Permissions-Policy missing
- Cross-Origin-Embedder-Policy: Header missing
- Cross-Origin-Resource-Policy: Unexpected value
- Expect-CT: Expect-CT missing
- X-Permitted-Cross-Domain-Policies: Header missing
- Access-Control-Allow-Origin: Access-Control-Allow-Origin missing
- Server: Sensitive header exposed
- Origin-Agent-Cluster: Header missing
Normalized headers
| server | nginx |
|---|---|
| date | Mon, 10 Nov 2025 10:57:34 GMT |
| content-type | text/html; charset=utf-8 |
| content-length | 32217 |
| last-modified | Sat, 19 Jun 2021 08:12:46 GMT |
| connection | keep-alive |
| etag | "60cda6fe-7dd9" |
| expires | Mon, 10 Nov 2025 22:59:00 GMT |
| cache-control | max-age=43286 |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| x-xss-protection | 1; mode=block |
| x-dns-prefetch-control | off |
| referrer-policy | no-referrer |
| cross-origin-resource-policy | same-site |
| cross-origin-opener-policy | same-origin |
| accept-ranges | bytes |
Transport
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Strict-Transport-Security | ❌ Missing | max-age>=15768000; includeSubDomains; preload | Strict-Transport-Security missing | Critical | Strict-Transport-Security: max-age=63072000; includeSubDomains; preload | |
| Expect-CT | ❌ Missing | enforce; max-age>=86400 | Expect-CT missing | Medium | Expect-CT: enforce, max-age=86400, report-uri="https://report.example.com" |
Content Security
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Content-Security-Policy | ❌ Missing | default-src 'self'; frame-ancestors 'none' | Content-Security-Policy missing | Critical | Content-Security-Policy: default-src 'self'; frame-ancestors 'none' |
MIME
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| X-Content-Type-Options | ✅ Passed | nosniff | nosniff | Value matches recommendation | High | X-Content-Type-Options: nosniff |
Framing
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| X-Frame-Options | ✅ Passed | DENY | DENY or SAMEORIGIN | Value accepted | High | X-Frame-Options: DENY |
Privacy
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Referrer-Policy | ✅ Passed | no-referrer | strict-origin-when-cross-origin / same-origin | strict-origin-when-cross-origin | Medium | Referrer-Policy: strict-origin-when-cross-origin |
Browser Features
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Permissions-Policy | ❌ Missing | camera=(); geolocation=(); microphone=() | Permissions-Policy missing | Medium | Permissions-Policy: camera=(), geolocation=(), microphone=() |
Cross-Origin
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Cross-Origin-Opener-Policy | ✅ Passed | same-origin | same-origin | Value matches recommendation | High | Cross-Origin-Opener-Policy: same-origin |
| Cross-Origin-Embedder-Policy | ❌ Missing | require-corp | Header missing | High | Cross-Origin-Embedder-Policy: require-corp | |
| Cross-Origin-Resource-Policy | ❌ Missing | same-site | same-origin | Unexpected value | Medium | Cross-Origin-Resource-Policy: same-origin |
| Origin-Agent-Cluster | ❌ Missing | ?1 | Header missing | Low | Origin-Agent-Cluster: ?1 |
Caching
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Cache-Control | ✅ Passed | max-age=43286 | no-store, private, max-age=0 | no-store, private, max-age=0 | High | Cache-Control: no-store, private, max-age=0 |
Legacy
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| X-Permitted-Cross-Domain-Policies | ❌ Missing | none | Header missing | Low | X-Permitted-Cross-Domain-Policies: none |
CORS
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Access-Control-Allow-Origin | ❌ Missing | Scoped origin (no wildcard) | Access-Control-Allow-Origin missing | Medium | Access-Control-Allow-Origin: https://app.example.com |
Information Disclosure
| Check name | Status | Actual | Expected | Detail | Severity | Recommendation |
|---|---|---|---|---|---|---|
| Server | ❌ Missing | nginx | Header removed or generic | Sensitive header exposed | High | Remove Server header or set to a generic token |
| X-Powered-By | ✅ Passed | Header removed | Header not exposed | High | Remove X-Powered-By header | |
| X-AspNet-Version | ✅ Passed | Header removed | Header not exposed | Medium | Remove framework version headers |
Raw headers
HTTP/1.1 200 OK Server: nginx Date: Mon, 10 Nov 2025 10:57:34 GMT Content-Type: text/html; charset=utf-8 Content-Length: 32217 Last-Modified: Sat, 19 Jun 2021 08:12:46 GMT Connection: keep-alive ETag: "60cda6fe-7dd9" Expires: Mon, 10 Nov 2025 22:59:00 GMT Cache-Control: max-age=43286 X-Content-Type-Options: nosniff X-Frame-Options: DENY X-XSS-Protection: 1; mode=block X-DNS-Prefetch-Control: off Referrer-Policy: no-referrer Cross-Origin-Resource-Policy: same-site Cross-Origin-Opener-Policy: same-origin Accept-Ranges: bytes