Deutsch | English Header test API About WebForensik

WebForensik

Results for https://www.xvideos.com/

Scan time: 2026-09-13 14:04:58

54

Overall Score

Score history for this domain View full history →

GDPR Summary

⚠ This website has serious GDPR deficiencies. Immediate action is required.

GDPR Issues Detected (4):

❌ 3 third-party server(s) outside the EU/EEA — data transfers without legal basis may violate Art. 44–49 GDPR.

Affected servers outside the EU:

  • jpeg.live.mmcdn.com (United States)
  • nwr.static.mmcdn.com (United States)
  • nwr.mmcdn.com (United States)

❌ 2 tracking service(s) detected — without prior consent (opt-in) this violates Art. 6(1) GDPR.

Detected trackers:

  • Chaturbate (Advertising)
  • mmcdn.com (FingerprintingInvasive)

⚠ Third-party cookies are being set — without consent this violates the ePrivacy Directive.

⚠ Missing or unsafe Referrer-Policy — URLs containing personal data may be leaked to third parties.

Note: This automated analysis does not replace legal advice. For a complete GDPR assessment, consult a data protection officer.

↓ See detailed results for each category below.

Show:
100 HTTPS / Encryption

The website uses an encrypted connection (HTTPS).

Latest encryption active (TLS 1.3 — TLSv1.3).

The security certificate is valid (expires 2027-01-28).

Strong encryption method (TLS_AES_256_GCM_SHA384, 256 bit).

0 Enforced Encryption (HSTS)

No HSTS header set. Browsers are not forced to use the encrypted connection.

☛ Action needed: Enable HSTS so browsers always use the encrypted connection. Ask your hosting provider or add this header to your server configuration: Strict-Transport-Security: max-age=31536000; includeSubDomains
▸ How to fix this — step-by-step guide

HSTS (HTTP Strict Transport Security) tells the browser: "Always use HTTPS for this domain — no matter what." This prevents attackers on the same WLAN from intercepting the first, unprotected request. Prerequisite: your site is already stable on HTTPS.

Apache server (classic hosting at most providers)

File: .htaccess in the web root

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>

⚠ max-age=31536000 equals 1 year (in seconds). includeSubDomains also covers blog.your-domain.com, shop.your-domain.com etc. — only enable if ALL subdomains support HTTPS, otherwise they become unreachable.

WordPress Special for WordPress: where to add this

Option 1: via .htaccess (recommended — no theme editing)

File: .htaccess in the WordPress root

# BEGIN WebForensik HSTS
<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>
# END WebForensik HSTS

⚠ Insert ABOVE the "# BEGIN WordPress" line. Only enable once HTTPS has been stable for a few days — the header is intentionally hard to roll back (browsers remember the instruction).

Option 2: via functions.php in the child theme (Advanced alternative)

File: functions.php of your CHILD theme (Appearance → Theme File Editor → functions.php)

add_action('send_headers', function () {
    header('Strict-Transport-Security: max-age=31536000; includeSubDomains');
});

⚠ NEVER edit the parent theme — changes are lost on update. Back up functions.php first!

✓ How to verify it works: DevTools (F12) → Network tab → reload page → click the first request → "Response Headers" — must contain "strict-transport-security: max-age=31536000…".

↓ SHOW COMPLETE SOLUTION All missing security headers bundled at the end of the report — ready to copy.
35 Content Security Policy (CSP)

Content Security Policy present (via HTTP-Header).

Script sources are too broad (wildcard, http:, etc.) — practically no protection.

☛ Action needed: Your CSP allows scripts from any source — this provides virtually no protection. Restrict allowed script sources to specific domains.
▸ How to fix this — step-by-step guide

Your script-src is so broad (wildcard *, http:, …) that practically any code can be loaded — protection is effectively zero. You need to list allowed domains explicitly.

Apache server (classic hosting at most providers)

File: .htaccess in the web root

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'"
</IfModule>

⚠ After "script-src 'self'" list only domains you actually need. Step-by-step approach: remove all wildcards, reload, F12 console shows blocked domain → add → repeat. The other directives (img-src data:, style-src 'unsafe-inline') are kept pragmatic so WordPress emoji, admin bar and plugin inline-styles don't break.

WordPress Special for WordPress: where to add this

Option 1: via .htaccess (recommended — no theme editing)

File: .htaccess in the WordPress root

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'"
</IfModule>

⚠ Add domains after "script-src 'self'" as needed (space-separated, prefixed with https://). IMPORTANT: img-src data: and style-src 'unsafe-inline' MUST stay — without them WordPress emoji, admin-bar icons and plugin inline-styles will break.

✓ How to verify it works: F12 → Console. If something is blocked: "Refused to load the script ‘https://…’" — identify the URL, add its domain to script-src, reload.

Good base rule: only own content is allowed by default (default-src: self).

↓ SHOW COMPLETE SOLUTION All missing security headers bundled at the end of the report — ready to copy.
20 Referrer Policy

Referrer-Policy: no-referrer-when-downgrade (via HTTP-Header).

The setting "no-referrer-when-downgrade" shares too much URL information with other websites.

☛ Action needed: Change the Referrer-Policy to a more privacy-friendly setting like "strict-origin-when-cross-origin" or "no-referrer". The current setting shares too much information with third parties.
▸ How to fix this — step-by-step guide

Your current Referrer-Policy reveals too much (e.g. "unsafe-url" or "no-referrer-when-downgrade"). Switch to a more privacy-friendly setting.

Apache server (classic hosting at most providers)

File: .htaccess in the web root

<IfModule mod_headers.c>
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

⚠ Replace the existing Referrer-Policy line.

WordPress Special for WordPress: where to add this

Option 1: via .htaccess (recommended — no theme editing)

File: .htaccess in the WordPress root

<IfModule mod_headers.c>
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

⚠ Replace the existing Referrer-Policy entry.

✓ How to verify it works: F12 → Network → Response Header — new value visible.

↓ SHOW COMPLETE SOLUTION All missing security headers bundled at the end of the report — ready to copy.
0 MIME Type Protection

No MIME type protection (X-Content-Type-Options missing). Browsers may misinterpret files.

☛ Action needed: Add the header X-Content-Type-Options: nosniff. This prevents browsers from misinterpreting files, which can lead to security vulnerabilities. Your hosting provider or web developer can set this up in minutes.
▸ How to fix this — step-by-step guide

Without the "X-Content-Type-Options: nosniff" header the browser guesses file types from content — which attackers can exploit (e.g. a HTML file disguised as .jpg is executed as HTML). The fix is one single line.

Apache server (classic hosting at most providers)

File: .htaccess in the web root

<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
</IfModule>

⚠ No side effects expected — considered a safe standard and best practice for years.

WordPress Special for WordPress: where to add this

Option 1: via .htaccess (recommended — no theme editing)

File: .htaccess in the WordPress root

<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
</IfModule>

⚠ Safe to add alongside other Header set entries.

Option 2: via functions.php in the child theme (Advanced alternative)

File: functions.php of your CHILD theme

add_action('send_headers', function () {
    header('X-Content-Type-Options: nosniff');
});

⚠ Back up functions.php before edits.

✓ How to verify it works: F12 → Network → Response Header: "x-content-type-options: nosniff".

↓ SHOW COMPLETE SOLUTION All missing security headers bundled at the end of the report — ready to copy.
100 Clickjacking Protection

Clickjacking protection active: X-Frame-Options = SAMEORIGIN.

50 Permissions (Camera, Microphone, etc.)

Permissions-Policy is configured — access to sensitive device APIs is controlled.

45 Cookies

1 first-party and 6 third-party cookie(s).

6 third-party cookie(s) detected. These can be used to track you across different websites.

☛ Action needed: GDPR VIOLATION: Third-party cookies track visitors across multiple websites. This requires explicit consent (opt-in) BEFORE the cookies are set. Solution: (1) Check which external services set the cookies. (2) Remove unnecessary services. (3) For essential services: Implement a cookie consent banner that only loads these cookies after consent.
▸ How to fix this — step-by-step guide

Third-party cookies (e.g. from Google, Facebook) track visitors across websites. Under GDPR Art. 6 and ePrivacy / national implementations, explicit consent is required BEFORE setting them. Three-step fix: (1) identify which external services set the cookies, (2) remove services you don’t strictly need, (3) for essential services, add a consent banner that loads them only after "Accept".

WordPress Special for WordPress: where to add this

WordPress plugin: Cookie-consent plugins for WordPress: "Complianz" (free, GDPR-focused, thorough wizard), "Real Cookie Banner" (free, knows many services), "Borlabs Cookie" (paid, most feature-complete). Critical configuration: set all tracking services to "do NOT load before consent" — most plugins detect standard services (GA, Maps, YouTube) automatically.

✓ How to verify it works: Open the site in incognito mode → F12 → Application → Cookies → your-domain.com. BEFORE clicking "Accept" there must be NO cookies from google.com, facebook.com etc. AFTER consent, yes.

2 of 7 cookie(s) without HttpOnly flag — could be read by malicious code.

☛ Action needed: Set the HttpOnly flag for all cookies that are not needed by JavaScript. This protects against session data theft through malicious code.
▸ How to fix this — step-by-step guide

Cookies without the "HttpOnly" flag can be read by JavaScript — an XSS attacker can steal session cookies and impersonate the logged-in user. Set HttpOnly for all cookies JavaScript doesn’t actively need.

Apache server (classic hosting at most providers)

File: .htaccess in the web root

<IfModule mod_headers.c>
    Header always edit Set-Cookie "^(.*)$" "$1; HttpOnly" "expr=!(resp('Set-Cookie') -strmatch '*HttpOnly*')"
</IfModule>

⚠ Cleaner: set cookies with HttpOnly directly (PHP: setcookie(..., [..., 'httponly'=>true])). Exception: cookies that JS actively reads (e.g. some consent cookies).

WordPress Special for WordPress: where to add this

Option 2: via functions.php in the child theme (Advanced alternative)

File: functions.php of your CHILD theme (or better wp-config.php)

@ini_set('session.cookie_httponly', '1');
@ini_set('session.cookie_secure', '1');

⚠ WordPress login cookies have been HttpOnly since 2.x. If you use a plugin that sets session cookies (e.g. WooCommerce cart pre-login), check its settings.

✓ How to verify it works: F12 → Application → Cookies → "HttpOnly" column shows checkmarks everywhere (except for deliberately JS-readable cookies like the consent cookie).

7 of 7 cookie(s) without SameSite protection — sent with requests from other websites.

☛ Action needed: Set the SameSite attribute (Lax or Strict) for all cookies. This prevents cookies from being sent with requests from other websites (CSRF protection).
▸ How to fix this — step-by-step guide

Without "SameSite" cookies are sent on requests from foreign sites — the basis of CSRF attacks (a foreign page silently triggers actions in your name because the login cookie travels along). Set SameSite=Lax as a minimum.

Apache server (classic hosting at most providers)

File: .htaccess in the web root

<IfModule mod_headers.c>
    Header always edit Set-Cookie "^(.*)$" "$1; SameSite=Lax" "expr=!(resp('Set-Cookie') -strmatch '*SameSite*')"
</IfModule>

⚠ SameSite=Lax is a good default. Strict is safer but breaks external links (user clicks from Google to your site — cookies are NOT sent, login is lost). None allows cross-site but requires "; Secure".

WordPress Special for WordPress: where to add this

Option 2: via functions.php in the child theme (Advanced alternative)

File: wp-config.php (above "/* That’s all, stop editing! */")

@ini_set('session.cookie_samesite', 'Lax');
@ini_set('session.cookie_secure', '1');
@ini_set('session.cookie_httponly', '1');

⚠ Sets SameSite/Secure/HttpOnly for PHP session cookies. WordPress login cookies have been SameSite=Lax since WP 6.2. Update older versions!

✓ How to verify it works: F12 → Application → Cookies → "SameSite" column should show "Lax" or "Strict" everywhere, not empty.

First-party cookies (from the website itself)

Name Domain Encrypted Server only SameSite
session_token .xvideos.com Yes Yes None

Third-party cookies (from external services)

Name Domain Encrypted Server only SameSite
fromaffiliate .chaturbate.com Yes Yes None
in_hit chaturbate.com Yes No None
sbr .chaturbate.com Yes Yes None
csrftoken .chaturbate.com Yes No None
cf_clearance .chaturbate.com Yes Yes None
__cf_bm .chaturbate.com Yes Yes None
↓ SHOW COMPLETE SOLUTION All missing security headers bundled at the end of the report — ready to copy.
70 Local Storage (Web Storage)

1 localStorage and 0 sessionStorage item(s) found.

localStorage

NameValue
thumbloadstats_vthumbs {"21":[{"s":2,"d":51}],"23":[{"s":2,"d":48}],"last":{"s":2,"v":[51,48]},"t":1789
15 Third-Party Requests

124 request(s) to 13 different third-party servers.

3 third-party server(s) outside the EU/EEA — potentially problematic for GDPR compliance.

☛ Action needed: POSSIBLE GDPR VIOLATION: Your visitors' data is being transferred to servers outside the EU/EEA. Since the Schrems II ruling, this is only permitted with special safeguards. Solutions: (1) Switch to EU-based alternatives (e.g., Matomo instead of Google Analytics, Bunny Fonts instead of Google Fonts). (2) If not possible: Ensure Standard Contractual Clauses (SCC) and additional technical measures are in place. (3) Obtain explicit visitor consent BEFORE data is transferred.
▸ How to fix this — step-by-step guide

GDPR-relevant: visitor data (at least IP + User-Agent) is transmitted to servers outside the EU/EEA. Since the Schrems-II ruling (2020) this requires Standard Contractual Clauses + supplementary technical measures AND prior consent. Best fix: replace with EU alternatives where possible.

WordPress Special for WordPress: where to add this

WordPress plugin: Common culprits and EU alternatives: Google Fonts → Bunny Fonts or self-host (plugin "OMGF — Host Google Fonts Locally"). Google Analytics → Matomo (self-hosted) or Plausible (EU servers). Google reCAPTCHA → hCaptcha (EU) or Friendly Captcha. Google Maps → OpenStreetMap. YouTube embeds → plugin "WP YouTube Lyte" loads only after click. CDN: Cloudflare → BunnyCDN (EU) or KeyCDN.

✓ How to verify it works: Load in incognito mode, F12 → Network → list all requests → check "Domain" column for non-EU servers. After migration no unrequested US domains should load.

10 third-party server(s) within the EU/EEA.

thumb-cdn77.xvideos-cdn.com 42 Requests · Germany (DE) · EU/EEA

Requested URLs:

https://thumb-cdn77.xvideos-cdn.com/19833cff-de6f-4a8d-93e0-132da12877b9/6/xv_1_t.avif

https://thumb-cdn77.xvideos-cdn.com/c012b6b1-d15f-492c-9824-443869605d0c/6/xv_24_t.avif

https://thumb-cdn77.xvideos-cdn.com/90016b28-2768-47a7-891c-d2c1ea8f602e/6/xv_5_t.avif

https://thumb-cdn77.xvideos-cdn.com/e86a75c1-1d6c-4ca5-915e-0d392a912b42/6/xv_16_t.avif

https://thumb-cdn77.xvideos-cdn.com/6d30ccb8-eb7a-494b-9f9f-f641883d7361/6/xv_10_t.avif

https://thumb-cdn77.xvideos-cdn.com/b59cf7e4-5efc-4f76-942a-125031bcbf86/6/xv_30_t.avif

https://thumb-cdn77.xvideos-cdn.com/7bf68a17-a9e5-4e3f-8125-1fe45f0864f8/6/xv_6_t.avif

https://thumb-cdn77.xvideos-cdn.com/f551ca61-fc13-484a-b36c-9e3f53fec288/6/xv_28_t.avif

https://thumb-cdn77.xvideos-cdn.com/6e99f660-c017-436b-a59f-3b40def724c1/6/xv_6_t.avif

https://thumb-cdn77.xvideos-cdn.com/b7ec4e2d-c39b-4a07-8e1c-108ed3fc823e/6/xv_1_t.avif

https://thumb-cdn77.xvideos-cdn.com/d857d1ec-6b66-4803-881e-7e0c9ed3e63a/6/xv_30_t.avif

https://thumb-cdn77.xvideos-cdn.com/a8d5bcc2-109d-4900-a2ae-db36ff51db29/0/xv_2_t.jpg

https://thumb-cdn77.xvideos-cdn.com/095c3663-fe1c-42ae-9bb9-fec85bea6ef9/6/xv_29_t.avif

https://thumb-cdn77.xvideos-cdn.com/99f8a468-60a1-4348-891f-0b7ed3ee4fd0/6/xv_19_t.avif

https://thumb-cdn77.xvideos-cdn.com/7f18082f-614e-49ac-a5de-68a51ff57642/6/xv_30_t.avif

https://thumb-cdn77.xvideos-cdn.com/ab17da1b-4da0-4c39-a9fe-36adab7c6ecf/6/xv_3_t.avif

https://thumb-cdn77.xvideos-cdn.com/d2c9bb4c-06ae-4ba0-a5fb-19028129d6e5/6/xv_11_t.avif

https://thumb-cdn77.xvideos-cdn.com/c30adb3c-9d07-46a9-8399-71154db8e0bb/6/xv_27_t.avif

https://thumb-cdn77.xvideos-cdn.com/79f0e01f-2c19-4c34-a49c-d668cbf79922/6/xv_18_t.avif

https://thumb-cdn77.xvideos-cdn.com/58fbe81d-1ec1-4995-bcfe-999d737b45cc/6/xv_30_t.avif

... and 22 more request(s)

web2.static.mmcdn.com 36 Requests · Canada (CA) · EU/EEA

Requested URLs:

https://web2.static.mmcdn.com/CACHE/css/output.c867160aebdb.css

https://web2.static.mmcdn.com/CACHE/css/output.87d99870dcef.css

https://web2.static.mmcdn.com/CACHE/css/output.255ebbc3ad6a.css

https://web2.static.mmcdn.com/CACHE/css/output.72d59465c7c5.css

https://web2.static.mmcdn.com/CACHE/js/output.427e085f0fcf.js

https://web2.static.mmcdn.com/CACHE/js/output.95c3694eb3bd.js

https://web2.static.mmcdn.com/CACHE/js/output.21a69f49335b.js

https://web2.static.mmcdn.com/CACHE/js/output.9408d0e566d3.js

https://web2.static.mmcdn.com/cachebust/runtime-react-ad2472e6056eb3023402.js

https://web2.static.mmcdn.com/CACHE/js/output.ad8bfd0d930c.js

https://web2.static.mmcdn.com/cachebust/runtime-prod-7b73a8d2eb29a60444e5.js

https://web2.static.mmcdn.com/cachebust/1031-prod-5c990b3fc3454c451393.js

https://web2.static.mmcdn.com/cachebust/live_cam_preview-prod-bb671f8d09954a0aff0c.js

https://web2.static.mmcdn.com/cachebust/510-react-a3a87006a055e0d937e3.js

https://web2.static.mmcdn.com/cachebust/987-react-b7e19da41350ee8a717b.js

https://web2.static.mmcdn.com/cachebust/58-react-1102d690d84c8c01ded7.js

https://web2.static.mmcdn.com/cachebust/79-react-ac1b9621856a3038b2c1.js

https://web2.static.mmcdn.com/cachebust/97-react-957c4ff8dd340f1eca91.js

https://web2.static.mmcdn.com/cachebust/601-react-79119920b0dd96ca887a.js

https://web2.static.mmcdn.com/cachebust/243-react-ec3d69da55fb84244fdf.js

... and 16 more request(s)

assets-o7.xvideos-cdn.com 15 Requests · Netherlands (NL) · EU/EEA

Requested URLs:

https://assets-o7.xvideos-cdn.com/v-1545ea9594e/v3/css/default/main.css

https://assets-o7.xvideos-cdn.com/v-3a6db248874/v3/js/skins/min/default.header.static.js

https://assets-o7.xvideos-cdn.com/v-9a4f1a51a62/v3/js/skins/min/default.footer.static.js

https://assets-o7.xvideos-cdn.com/img/lightbox/lightbox-blank.gif

https://assets-o7.xvideos-cdn.com/v3/js/libs/jquery.min.js

https://assets-o7.xvideos-cdn.com/v3/js/skins/min/require.static.js

https://assets-o7.xvideos-cdn.com/v3/img/skins/default/logo/xvideos.black.svg

https://assets-o7.xvideos-cdn.com/v-b125e48ca0e/v3/js/i18n/front/english.json

https://assets-o7.xvideos-cdn.com/v-1545ea9594e/v3/img/flags/flat/flags-16.png

https://assets-o7.xvideos-cdn.com/v-02605211619/v3/fonts/skins/common/iconfont/iconfont.woff2

https://assets-o7.xvideos-cdn.com/v-03b89666bbe/v3/js/skins/min/default.js

https://assets-o7.xvideos-cdn.com/v3/img/skins/default/xv-inline-loader.gif

https://assets-o7.xvideos-cdn.com/v3/img/skins/default/logo/xv.white.svg

https://assets-o7.xvideos-cdn.com/v-03b89666bbe/v3/js/jquery.js

https://assets-o7.xvideos-cdn.com/v-03b89666bbe/v3/js/libs/hls-1.2.5.min.js

chaturbate.com 8 Requests · Canada (CA) · EU/EEA

Requested URLs:

https://chaturbate.com/in/?tour=Ats2&campaign=X7hVR&track=00E_Native_8520268_146148900&click_id=otdZbHTXHPHNTS7bc7qrrKqbJ3TU1zU23Syulc6qW11Mzp3UyuldK6V1NdMs0tFLp7qpraLnT21zV1SuldM6V0rpXSumdK6V0znaT7aT

https://chaturbate.com/toplivecampreview/?inhit_token=eyJjYW1wYWlnbiI6Ilg3aFZSIiwiY2xpY2tfaWQiOiJvdGRaYkhUWEhQSE5UUzdiYzdxcnJLcWJKM1RVMXpVMjNTeXVsYzZxVzExTXpwM1V5dWxkSzZWMU5kTXMwdEZMcDdxcHJhTG5UMjF6Vj

https://chaturbate.com/livecampreview/?campaign=X7hVR&click_id=otdZbHTXHPHNTS7bc7qrrKqbJ3TU1zU23Syulc6qW11Mzp3UyuldK6V1NdMs0tFLp7qpraLnT21zV1SuldM6V0rpXSumdK6V0znaT7aTay020a1aV17VUU53T8Va1aza6XVOlcpHe

https://chaturbate.com/cdn-cgi/challenge-platform/scripts/jsd/main.js

https://chaturbate.com/cdn-cgi/challenge-platform/h/g/scripts/jsd/330e41bb475c/main.js?

https://chaturbate.com/cdn-cgi/challenge-platform/h/g/jsd/oneshot/330e41bb475c/0.1976467379792619:1789297520:SheO1Jm5sGGRkqHslS0HhPpN30tyTXp2_1N_ou09zdk/a3a7045bfaba97c1

https://chaturbate.com/push_service/lcp_presence/glossybabe_/?lcp_impression_id=01a09aa7-f5cd-7657-8352-b6540447f39c

https://chaturbate.com/fossil/i/

thumbs-gcore.xvideos-cdn.com 6 Requests · Germany (DE) · EU/EEA

Requested URLs:

https://thumbs-gcore.xvideos-cdn.com/5e5636d7-2872-442d-958a-611ed5558005/6/xv_7_t.avif

https://thumbs-gcore.xvideos-cdn.com/d023aada-6ee4-49f2-bd7d-acae49cd6cf5/6/xv_13_t.avif

https://thumbs-gcore.xvideos-cdn.com/bca24d15-0b77-4950-86df-a83aa6c6631b/6/xv_27_t.avif

https://thumbs-gcore.xvideos-cdn.com/c0d17912-468d-4955-8479-dfb9907f460b/6/xv_12_t.avif

https://thumbs-gcore.xvideos-cdn.com/e3debee6-8ffa-4784-a685-684973d619ec/6/xv_19_t.avif

https://thumbs-gcore.xvideos-cdn.com/02fad105-55c7-44dd-b114-78738eeb8547/6/xv_11_t.avif

web.static.mmcdn.com 4 Requests · Canada (CA) · EU/EEA

Requested URLs:

https://web.static.mmcdn.com/jsi18n/en/djangojs.js?hash=1546343b16be

https://web.static.mmcdn.com/jsi18n/en/frontend.js?hash=1546343b16be

https://web.static.mmcdn.com/cachebust/8345-prod-b2782f262599f36fe78f.js

https://web.static.mmcdn.com/images/logo-new-dark.svg

nwr.mmcdn.com 4 Requests · United States (US) · Non-EU
⚠ GDPR Issue: This server is located outside the EU/EEA. Transferring personal data (e.g. your visitors' IP addresses) to this server may violate Art. 44-49 GDPR. Without a valid legal basis (e.g. consent, Standard Contractual Clauses) this data transfer is unlawful.

Requested URLs:

https://nwr.mmcdn.com/1/6f524845d1?a=24279235&v=1.321.0&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtVCBQGOwAHVGpJQwRHUAQV&rst=1577&s=eec25bb7c4e03c84&ref=https://chaturbate.com/livecampreview/&p

https://nwr.mmcdn.com/events/1/6f524845d1?a=24279235&v=1.321.0&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtVCBQGOwAHVGpJQwRHUAQV&rst=1827&s=eec25bb7c4e03c84&ref=https://chaturbate.com/livecampre

https://nwr.mmcdn.com/events/1/6f524845d1?a=24279235&v=1.321.0&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtVCBQGOwAHVGpJQwRHUAQV&rst=1829&s=eec25bb7c4e03c84&ref=https://chaturbate.com/livecampre

https://nwr.mmcdn.com/ins/1/6f524845d1?a=24279235&v=1.321.0&to=MwYEbUdYXxJQWhULDApMIExbWkUIXldOAQsFF0hPXFxGEgtVCBQGOwAHVGpJQwRHUAQV&rst=1831&s=eec25bb7c4e03c84&ref=https://chaturbate.com/livecamprevie

s.pemsrv.com 3 Requests · Netherlands (NL) · EU/EEA

Requested URLs:

https://s.pemsrv.com/v1/api.php

https://s.pemsrv.com/cimp.php?t=api&data=H4sIAAAAAAAAA21RW04DMQy8Chdo5HccvuEEiAN0s1voBy1iUQWSD4+zFAkkNIkVO/aMLROQ7aDtkG/Ab0FulaN6EStUUCTu7h9DMD4ux3k5r6WfXwKBKEPG5tzCQTxrtFWVSqHg4UrJ6oFiKN4AQiAoICEmgMA

https://s.pemsrv.com/iframe.php?url=H4sIAAAAAAAAAzWOW2.CMACF_42P2hYosMQse5hhA_FCqYQX0gsZTMS2FqJkP37qsrfz5Zx8OY216vKyWIiG2cFwZuu5OJ8Wbb94tefBLN_sBc0EOynWfvXLwm_ofmYNE8clAO9Vymw71lXgIYBwUEEXQzcIAZiJrhXH

f.static.mmcdn.com 2 Requests · Canada (CA) · EU/EEA

Requested URLs:

https://f.static.mmcdn.com/aG34bH-f2.min.js

https://f.static.mmcdn.com/aG34bH-ant.min.js?3.12.14

a.pemsrv.com 1 Requests · Germany (DE) · EU/EEA

Requested URLs:

https://a.pemsrv.com/ad-provider.js

jpeg.live.mmcdn.com 1 Requests · United States (US) · Non-EU
⚠ GDPR Issue: This server is located outside the EU/EEA. Transferring personal data (e.g. your visitors' IP addresses) to this server may violate Art. 44-49 GDPR. Without a valid legal basis (e.g. consent, Standard Contractual Clauses) this data transfer is unlawful.

Requested URLs:

https://jpeg.live.mmcdn.com/stream?room=glossybabe_&f=59643369

thumb.live.mmcdn.com 1 Requests · Canada (CA) · EU/EEA

Requested URLs:

https://thumb.live.mmcdn.com/roomad/glossybabe_-15.mp4

nwr.static.mmcdn.com 1 Requests · United States (US) · Non-EU
⚠ GDPR Issue: This server is located outside the EU/EEA. Transferring personal data (e.g. your visitors' IP addresses) to this server may violate Art. 44-49 GDPR. Without a valid legal basis (e.g. consent, Standard Contractual Clauses) this data transfer is unlawful.

Requested URLs:

https://nwr.static.mmcdn.com/nr-spa-1.321.0.min.js

60 Tracker Detection

2 known tracker(s) detected! These track visitors across different websites.

☛ Action needed: GDPR VIOLATION: Trackers follow your visitors across different websites. This requires explicit consent BEFORE loading the trackers. Solutions: (1) Remove all unnecessary trackers. (2) Switch to privacy-friendly alternatives (e.g., Matomo, Plausible, Fathom instead of Google Analytics). (3) For essential trackers: Implement a consent banner that only loads trackers AFTER consent.
▸ How to fix this — step-by-step guide

Trackers (Google Analytics, Facebook Pixel, …) capture visitors and follow them across multiple sites. Under GDPR Art. 6 and ePrivacy / national implementations, explicit consent is required BEFORE loading the tracker. "Continued scrolling = consent" is NOT acceptable.

WordPress Special for WordPress: where to add this

WordPress plugin: Consent plugins that properly block trackers until consent: "Complianz" (free, very good), "Real Cookie Banner", "Borlabs Cookie" (paid, most thorough). Principle after setup: do NOT embed the tracker snippet (e.g. GA script) directly in your theme — register it with the consent plugin, which only releases it after "Accept". Privacy-friendly tracker alternatives: Matomo (cookieless mode → may need no consent), Plausible (EU, anonymous, vendor claims no consent needed — legal advice recommended).

✓ How to verify it works: Incognito, load page — BEFORE "Accept": F12 → Network → no requests to google-analytics.com, facebook.com/tr etc. AFTER "Accept", yes.

Chaturbate (Advertising): chaturbate.com

mmcdn.com (FingerprintingInvasive): web.static.mmcdn.com

0 External Resource Integrity (SRI)

0 of 9 external resource(s) use integrity verification (SRI).

☛ Action needed: Not all external resources have integrity verification. Add SRI hashes for the missing resources.
▸ How to fix this — step-by-step guide

Only some of your external resources (0 of 9) are protected by SRI. Add integrity attributes to the remaining ones too.

WordPress Special for WordPress: where to add this

WordPress plugin: Approach: view page source → all <script src="https://…"> and <link href="https://…"> without integrity attribute → generate hash at https://www.srihash.org/ → add integrity="sha384-…" crossorigin="anonymous". Plugin "WP-SRI" automates many cases.

✓ How to verify it works: F12 → Console on page load: no "Failed to find a valid digest" messages. Source: all external <script>/<link> have an integrity attribute.

No external resources use integrity verification. Tampered files would not be detected.

☛ Action needed: Add Subresource Integrity (SRI) for all external scripts and stylesheets. This allows the browser to detect if an external file has been tampered with. Your web developer can easily generate the integrity attributes.
▸ How to fix this — step-by-step guide

SRI (Subresource Integrity) is a checksum in HTML that defines what an externally loaded file MUST look like. If someone tampers with the external file (e.g. a CDN gets compromised), the browser refuses to load it. You add the "integrity" attribute on the script/link tag.

WordPress Special for WordPress: where to add this

WordPress plugin: In WordPress you can rarely add SRI hashes manually (scripts are queued via wp_enqueue_script()). Plugin "WP-SRI" (in the plugin directory) adds integrity hashes automatically for external scripts/styles. For statically embedded resources in your theme: generate the hash at https://www.srihash.org/, add integrity="sha384-…" and crossorigin="anonymous" on the <script>/<link> tag.

✓ How to verify it works: F12 → Network → requests with status 200 from CDN domains (cdn.jsdelivr.net, cdnjs.cloudflare.com etc.) → in HTML source the tag must contain "integrity=\"sha384-…\" crossorigin=\"anonymous\"".

65 DNS Security

No CAA records. Any certificate authority could issue a certificate for this domain.

☛ Action needed: Create CAA DNS records to specify which certificate authorities may issue certificates for your domain. This prevents unauthorized certificates from being issued.
▸ How to fix this — step-by-step guide

CAA records (Certification Authority Authorization) define in DNS which Certificate Authorities are allowed to issue certificates for your domain. Without a CAA record an attacker could request a fraudulent certificate for your domain at any CA. CAA is pure DNS configuration — set in your registrar/DNS-panel, NOT in WordPress.

☞ Concrete CAA values for the ten most common DACH-region hosts

Find your host in the table, copy the values to your DNS panel. For multi-CA hosts: one separate CAA record per CA (all with tag issue, flag 0, name @). Additionally recommended: an iodef record with a contact email for abuse reports.

#HostCA(s) usedCAA value(s) — tag issue
1Hetzner Webhosting (basic certificate, free in package)DigiCert (programme „Encryption Everywhere")digicert.com
1Hetzner Webhosting (Let’s Encrypt, free)Let’s Encrypt (ISRG)letsencrypt.org
2All-InklLet’s Encrypt + Sectigo (Pro)letsencrypt.org
sectigo.com
3IONOS (1&1)DigiCert (GeoTrust) + Let’s Encryptdigicert.com
letsencrypt.org
4STRATOSectigo + Let’s Encryptsectigo.com
letsencrypt.org
5Cloudflare (Universal SSL)Google Trust Services + DigiCert + Let’s Encryptpki.goog
digicert.com
letsencrypt.org
6AWS (ACM / CloudFront)Amazon Trust Servicesamazon.com
amazontrust.com
awstrust.com
amazonaws.com
7MittwaldLet’s Encrypt + Sectigoletsencrypt.org
sectigo.com
8WebgoLet’s Encrypt + Sectigoletsencrypt.org
sectigo.com
9raidboxes (Managed WordPress)Let’s Encryptletsencrypt.org
10Host Europe / DomainFactorySectigo + Let’s Encryptsectigo.com
letsencrypt.org
Name   Type   Flag   Tag      Value
@      CAA    0      issue    "digicert.com"
@      CAA    0      issue    "letsencrypt.org"
@      CAA    0      iodef    "mailto:security@your-domain.com"

The iodef line (last line) is optional but recommended: CAs report abuse attempts to that address. For subdomains (e.g. shop.your-domain.com) create separate records with the subdomain name instead of @ — modern CAs check parent CAA automatically though.

If your host is not on the list: open your current certificate in the browser (padlock → certificate → issuer). The CA name is shown there (e.g. "Sectigo RSA Domain Validation Secure Server CA" → value sectigo.com). Add that as a CAA record, done.

WordPress Special for WordPress: where to add this

WordPress plugin: CAA records are NOT created in WordPress but in your domain registrar / DNS provider panel (e.g. Hetzner-Robot, IONOS Domains, Cloudflare Dashboard, INWX, etc.). Common label: "CAA record" or under "TXT records" with type selector "CAA". One separate record per CA.

✓ How to verify it works: On https://www.ssllabs.com/ssltest/analyze.html?d=your-domain.com → "DNS CAA" section → all your CAs should be listed. Or via dig: dig CAA your-domain.com.

3 nameservers present — good redundancy.

No IPv6 support (no AAAA record).

☛ Action needed: Enable IPv6 support (AAAA records) for your domain. More and more users are using IPv6.
▸ How to fix this — step-by-step guide

Your domain has no IPv6 address (AAAA record). Over 40% of users (especially mobile) reach the internet via IPv6 — they must take the slower IPv4 gateway detour.

WordPress Special for WordPress: where to add this

WordPress plugin: Pure DNS + server matter. Step 1: check if your host has an IPv6 address for you (hosting panel or support ticket). Step 2: in the DNS panel create an AAAA record pointing to that IPv6. Step 3: test.

✓ How to verify it works: dig AAAA your-domain.com — or online https://ipv6-test.com/validate.php?url=your-domain.com.

SPF record present: v=spf1 mx ip4:79.127.140.143 ip4:79.127.140.144 ip4:79.127.140.145 include:_spf.google.com include:sendgrid.net include: — protects against email spoofing.

No DMARC record. The domain is vulnerable to email phishing.

☛ Action needed: Create a DMARC DNS record at _dmarc.yourdomain.com. DMARC protects against phishing and email spoofing. Example: v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com
▸ How to fix this — step-by-step guide

DMARC combines SPF and DKIM into an explicit instruction for receiving mail servers: "What to do if emails claim to come from us but SPF/DKIM fail?" Without DMARC each server decides — usually generously. With DMARC=reject you effectively prevent phishing in your name.

WordPress Special for WordPress: where to add this

WordPress plugin: DNS matter. TXT record at subdomain _dmarc.your-domain.com. Recommended stages: Observe first: v=DMARC1; p=none; rua=mailto:dmarc-reports@your-domain.com — review reports for weeks. Then tighten: v=DMARC1; p=quarantine; rua=… — suspicious mails go to spam. Final: v=DMARC1; p=reject; rua=… — they’re refused outright.

✓ How to verify it works: dig TXT _dmarc.your-domain.com — or online https://dmarcian.com/dmarc-inspector/.

100 Security Contact (security.txt)

security.txt found: https://www.xvideos.com/.well-known/security.txt

Contact field present (required) — security researchers can report vulnerabilities.

Expires field present (required).

100 External Reporting Endpoints

No external reporting endpoints detected.

85 Cookie Consent

Cookie consent system detected: TCF API (__tcfapi).

TCF-compliant consent system (Transparency & Consent Framework) — IAB standard.

Consent system detected, but banner does not appear to be visible.

☛ Action needed: The consent system does not appear to be visible. Ensure the cookie banner is displayed on the first visit and is not hidden by CSS or JavaScript.
▸ How to fix this — step-by-step guide

Your consent system is wired up but the banner doesn’t appear visibly — perhaps hidden by another plugin or custom CSS. Risk: without a visible banner, no consent is given.

WordPress Special for WordPress: where to add this

WordPress plugin: Approach: 1) clear browser cache + cookies, use incognito. 2) In the consent plugin: check display conditions (e.g. "only EU visitors" — and you’re testing from a non-EU server). 3) F12 → Console for red errors from consent scripts. 4) Inspector → search DOM for "cookie", "consent" — element present but display:none? z-index too low? 5) Uninstall conflicting cookie-notice plugins.

✓ How to verify it works: Incognito tab, load page, wait 5 seconds — banner visible centered/bottom, doesn’t fully block main content, is clickable.

Trackers are loaded on page load — possibly BEFORE consent is given.

☛ Action needed: Trackers are loaded on page load, possibly before the visitor has consented. Ensure your consent system only activates trackers AFTER consent (opt-in, not opt-out).
▸ How to fix this — step-by-step guide

Your trackers are loaded BEFORE the user can consent ("pre-consent loading"). Common misconfiguration in cookie plugins — banner appears, but too late: the GA script is already running. Violates ePrivacy.

WordPress Special for WordPress: where to add this

WordPress plugin: Almost always caused by the theme or a tracking plugin that embeds the tracker code directly (e.g. "Google Analytics for WordPress" with auto-insert). Fix: 1) remove tracking code from the theme/plugin. 2) In the consent plugin (Complianz/Real Cookie Banner): register the tracker as a "service", paste the snippet there — the plugin will load it only after consent. 3) ALTERNATIVELY: plugin "PYS PixelYourSite" combined with consent gating. Do NOT rely on "GA anonymized before consent" — legally unsettled and risky.

✓ How to verify it works: Incognito → F12 → Network (clear all, start recording) → load page, do NOT click banner, wait 10 seconds → there must be NO requests to google-analytics.com, googletagmanager.com, facebook.com/tr, doubleclick.net etc.

100 Privacy Policy & Legal Notice

Privacy policy linked: "Privacy policy" (https://info.xvideos.net/legal/privacy).

Legal notice linked: "Privacy notice" (https://info.xvideos.net/legal/privacynotice).

Privacy policy page is accessible (HTTP 200).

⚙ Your ready-to-use security .htaccess

All missing security headers combined into one block. Append this block to the end of your .htaccess — done. 6 headers will be set.

⚠ Why this recommendation does NOT give a 100% score — and why that's how it is with WordPress

The Content-Security-Policy above deliberately includes 'unsafe-inline' for both style-src and script-src. This does NOT provide full XSS protection — it's a pragmatic trade-off, not a bug.

Why? A typical WordPress setup (theme + 5-15 plugins) emits 10-50 different inline <script> blocks into the HTML: jQuery init, slider init, cookie banner, tracking, GTM, web vitals, lazy-load, speculation rules and so on. A strict script-src 'self' blocks them all — the site becomes visually and functionally broken (blank slider, broken cookie banner, dead plugins).

Consequence for scoring: Sites running WordPress with plugins can score at most ~75-85 points in the CSP category in this app — the full 100% rating is only achievable when inline code is signed via nonce or hash (technically demanding, breaks on every theme/plugin update).

Paths to full XSS protection (in increasing complexity):

  • Plugin "WP Content Security Policy & Headers" — automatically adds nonces to inline scripts (medium effort, cleanest WP solution).
  • Hash-based CSP — whitelist every inline script via SHA-256 in the CSP (fragile, breaks on updates).
  • Externalize inline scripts — rebuild theme/plugins so no inline JS is emitted (huge effort, often impossible).

Anyone who doesn't take one of these paths lives with 'unsafe-inline' — like about 95% of all production WordPress sites on the web. The other CSP directives still protect: default-src 'self' blocks external resources, object-src 'none' bans Flash/Java, frame-ancestors 'self' prevents clickjacking, base-uri 'self' prevents base-tag hijacking. Not maximum protection, but realistic protection for WP reality.

⚠ Important on Hetzner-Konsoleh webhosting (managed / shared hosting)

On Hetzner-Konsoleh webhosting (and comparable shared hosts like All-Inkl, IONOS, Strato, 1blu, …), Apache throws a 500 Internal Server Error as soon as Header always edit Set-Cookie … expr=… appears in .htaccess. The Apache error log says:

Can't parse envclause/expression: syntax error, unexpected T_OP_STR_EQ, expecting $end

This is not a WebForensik bug and not a typo — the shared host has blocked the mod_headers expr= subset via AllowOverride limits (for security, because Header edit could also manipulate cookies of other tenants).

☛ For Hetzner-Konsoleh users: use the variant below marked with the red "Hetzner / Shared" badge. It consists of two files (.htaccess + wp-config.php) instead of one, but avoids the 500 error reliably. Cookie flags go into wp-config.php instead of .htaccess.

Apache Standard Apache (any host, without WordPress)

Append this block to the end of your .htaccess in the web root — done.

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set X-Content-Type-Options "nosniff"

    # Fehlende Cookie-Flags konditional ergänzen (nur wenn nicht schon gesetzt)
    Header always edit Set-Cookie "^(.*)$" "$1; HttpOnly" "expr=!(resp('Set-Cookie') -strmatch '*HttpOnly*')"
    Header always edit Set-Cookie "^(.*)$" "$1; SameSite=Lax" "expr=!(resp('Set-Cookie') -strmatch '*SameSite*')"
</IfModule>

Hetzner / Shared Hetzner-Konsoleh / Managed Hosting (two files)

This variant avoids the 500 Internal Server Error on Hetzner-Konsoleh and similar shared hosts (All-Inkl, IONOS, Strato, 1blu …): the .htaccess only contains the header directives (no "Header edit"), cookie flags move into wp-config.php. Two files to edit instead of one, but guaranteed to run.

1. File: .htaccess in the WordPress root
# BEGIN WebForensik Security
<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set X-Content-Type-Options "nosniff"
</IfModule>
# END WebForensik Security
2. File: wp-config.php in the WordPress root

Insert ABOVE the line "/* That's all, stop editing! */". Back up wp-config.php first!

// === WebForensik: Cookie-Hardening (Hetzner-Konsoleh-tauglich) ===
// Bitte OBERHALB der Zeile "/* That's all, stop editing! */" einfügen.
// Wirkt auf PHP-Session- und WordPress-Login-Cookies.
// Plugin-eigene Cookies (z.B. WooCommerce, Cookie-Banner) müssen in den
// Plugin-Einstellungen separat auf "Secure" gestellt werden.
@ini_set('session.cookie_httponly', '1');
@ini_set('session.cookie_samesite', 'Lax');

WordPress WordPress: .htaccess in WP root

Insert this block ABOVE the "# BEGIN WordPress" line, otherwise WP overwrites it on permalink changes.

# BEGIN WebForensik Security
<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set X-Content-Type-Options "nosniff"

    # Fehlende Cookie-Flags konditional ergänzen
    Header always edit Set-Cookie "^(.*)$" "$1; HttpOnly" "expr=!(resp('Set-Cookie') -strmatch '*HttpOnly*')"
    Header always edit Set-Cookie "^(.*)$" "$1; SameSite=Lax" "expr=!(resp('Set-Cookie') -strmatch '*SameSite*')"
</IfModule>
# END WebForensik Security

WordPress Alternative for WordPress: functions.php in child theme

If your host disallows .htaccess changes: append this PHP snippet to the end of your CHILD theme's functions.php. Back up first — NEVER edit the parent theme, it gets overwritten on updates.

add_action('send_headers', function () {
    header("Strict-Transport-Security: max-age=31536000; includeSubDomains");
    header("Content-Security-Policy: default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; font-src 'self' https: data:; object-src 'none'; frame-ancestors 'self'; base-uri 'self'; upgrade-insecure-requests");
    header("Referrer-Policy: strict-origin-when-cross-origin");
    header("X-Content-Type-Options: nosniff");
});

// Cookie-Flags für PHP-Session-Cookies — wirkt nur auf $_SESSION,
// NICHT auf von Plugins/Themes per setcookie() gesetzte Cookies.
// Für umfassende Cookie-Absicherung die .htaccess-Variante oben verwenden.
add_action('init', function () {
    if (headers_sent()) return;
    @ini_set('session.cookie_httponly', '1');
    @ini_set('session.cookie_samesite', 'Lax');
}, 1);
Dry-run — we re-load your site with the proposed headers and show which resources would be blocked. Takes about 30 seconds.
HTTP Response Headers
HeaderValue
accept-ch Viewport-Width, Width, Device-Memory, Sec-CH-UA, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Model, Sec-CH-UA-Bitness
content-encoding gzip
content-length 32023
content-security-policy default-src 'self' data: 'unsafe-inline' 'unsafe-eval' blob: yoti: *.xvideos.com *.xnxx.com *.red-cdn.com *.gold-cdn.com *.xvideos-cdn.com *.xnxx-cdn.com *.others-cdn.com 1868565294.rsc.cdn77.org static.cloudflareinsights.com www.google.com www.gstatic.com fonts.gstatic.com global.frcapi.com *.googl
content-type text/html; charset=utf-8
cross-origin-opener-policy same-origin-allow-popups
date Sun, 13 Sep 2026 12:04:52 GMT
p3p policyref="/p3p.xml", CP="NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT"
permissions-policy ch-ua-model=(self "https://s.orbsrv.com" "https://s.pemsrv.com" "https://s.dtbxnc.com"), ch-ua-platform-version=(self "https://s.orbsrv.com" "https://s.pemsrv.com" "https://s.dtbxnc.com")
referrer-policy no-referrer-when-downgrade
report-to {"group": "csp-endpoint", "max_age": 10886400, "endpoints": [ { "url": "https://www.xvideos.com/csp-reports" } ] }
server nginx
set-cookie session_token=ed6fc9ab701af515ytYmyPIilRFIwaoecvqQ3J-gQX2o1AFPWw-XYdB6uJNvj4Dnri-oDlZTj4qepEmlU3EhTfkjtULAzW0W6a8NfoYUQmueIbL_vRXi3hJbzoeFIByqsZKQFnTUkzvazOjlcTm5pjZxYPRxl47Zo56g8rnkami054UuuipTC3neJiZ3N5xWDUYbO2XxoMJsDdM2; expires=Tue, 13 Oct 2026 12:04:52 GMT; Max-Age=2592000; path=/; domain=.xvid
vary Accept-Encoding,User-Agent,Accept-Language,Cookie
x-frame-options SAMEORIGIN

New Scan · Compare

Embed your score on your website

Show your WebForensik score publicly. The badge is a lightweight SVG, loads fast, and respects your visitors' privacy (no tracking).

WebForensik Score Badge

HTML code to embed (this specific scan)

<a href="https://webforensik.de/results.php?id=1736" target="_blank" rel="noopener">
  <img src="https://webforensik.de/badge.php?id=1736" alt="WebForensik Score" width="174" height="28">
</a>

Or dynamically — always shows the latest scan of this domain

<a href="https://webforensik.de/?url=https://xvideos.com" target="_blank" rel="noopener">
  <img src="https://webforensik.de/badge.php?domain=xvideos.com" alt="WebForensik Score" width="174" height="28">
</a>