Deutsch | English Header-Test API Über WebForensik

WebForensik

Ergebnisse für https://www.xvideos.com/

Analysezeitpunkt: 2026-09-20 06:11:45

55

Gesamtbewertung

Veränderung seit dem letzten Scan +1 verbessert

Vergleich mit Scan vom 13.09.2026 14:04 (Score 54 → 55) · Kompletten Verlauf ansehen

Drittanbieter-Anfragen 15→20

Score-Verlauf für diese Domain Kompletten Verlauf ansehen →

DSGVO-Zusammenfassung

⚠ Diese Website weist schwerwiegende DSGVO-Mängel auf. Es besteht dringender Handlungsbedarf.

DSGVO-Probleme erkannt (4):

❌ 2 Drittanbieter-Server außerhalb der EU/des EWR — Datenübermittlung ohne Rechtsgrundlage kann gegen Art. 44–49 DSGVO verstoßen.

Betroffene Server außerhalb der EU:

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

❌ 2 Tracking-Dienst(e) erkannt — ohne vorherige Einwilligung (Opt-in) ein Verstoß gegen Art. 6 Abs. 1 DSGVO und § 25 TDDDG.

Erkannte Tracker:

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

⚠ Drittanbieter-Cookies werden gesetzt — ohne Einwilligung ein Verstoß gegen § 25 TDDDG.

⚠ Fehlende oder unsichere Referrer-Policy — URLs mit personenbezogenen Daten können an Dritte weitergegeben werden.

Hinweis: Diese automatisierte Analyse ersetzt keine rechtliche Beratung. Für eine vollständige DSGVO-Bewertung konsultieren Sie einen Datenschutzbeauftragten.

↓ Detaillierte Ergebnisse zu allen Kategorien finden Sie weiter unten.

Anzeigen:
100 HTTPS / Verschlüsselung

Die Website nutzt eine verschlüsselte Verbindung (HTTPS).

Neueste Verschlüsselung aktiv (TLS 1.3 — TLSv1.3).

Das Sicherheitszertifikat ist gültig (läuft ab am 2027-01-28).

Starke Verschlüsselungsmethode (TLS_AES_256_GCM_SHA384, 256 Bit).

0 Erzwungene Verschlüsselung (HSTS)

Kein HSTS-Header gesetzt. Browser werden nicht gezwungen, die verschlüsselte Verbindung zu nutzen.

☛ Handlungsbedarf: Aktivieren Sie HSTS, damit Browser immer die verschlüsselte Verbindung nutzen. Fragen Sie Ihren Hoster oder fügen Sie diesen Header in Ihre Serverkonfiguration ein: Strict-Transport-Security: max-age=31536000; includeSubDomains
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

HSTS (HTTP Strict Transport Security) sagt dem Browser: „Diese Domain IMMER über HTTPS aufrufen — egal was passiert." Das verhindert, dass ein Angreifer im WLAN die erste, ungeschützte Verbindung abfängt. Voraussetzung: Ihre Website läuft schon stabil über HTTPS.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

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

⚠ max-age=31536000 sind 1 Jahr (in Sekunden). includeSubDomains gilt für blog.ihre-domain.de, shop.ihre-domain.de usw. — nur einbauen, wenn ALLE Subdomains HTTPS können, sonst sind die unerreichbar.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

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

⚠ OBERHALB der „# BEGIN WordPress"-Zeile einfügen. Erst aktivieren, wenn HTTPS seit ein paar Tagen stabil läuft — der Header ist bewusst schwer rückgängig zu machen (Browser merken sich die Anweisung).

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes (Design → Theme-Datei-Editor → functions.php)

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

⚠ NIE direkt das Haupt-Theme bearbeiten — Änderungen sind bei Updates weg. Vorher Backup der functions.php!

✓ So prüfen Sie, ob es funktioniert: Browser-Konsole F12 → Tab „Netzwerk" → Seite neu laden → erste Anfrage anklicken → „Response Headers" — dort muss „strict-transport-security: max-age=31536000…" stehen.

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
35 Content Security Policy (CSP)

Content Security Policy vorhanden (via HTTP-Header).

Skript-Quellen sind zu weit gefasst (Wildcard, http: etc.) — praktisch kein Schutz.

☛ Handlungsbedarf: Ihre CSP erlaubt Skripte von beliebigen Quellen — das ist praktisch kein Schutz. Schränken Sie die erlaubten Skript-Quellen auf konkrete Domains ein.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre script-src-Quellen sind so weit gefasst (Wildcard *, http:, …), dass praktisch jeder Code geladen werden darf — die Schutzwirkung ist gleich null. Sie müssen die erlaubten Domains konkret auflisten.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im 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>

⚠ Listen Sie HINTER „script-src 'self'" nur die Domains, die Sie wirklich brauchen. Schritt-für-Schritt-Methode: alle Wildcards entfernen, Seite laden, F12-Konsole zeigt blockierte Domain → ergänzen → wiederholen. Die übrigen Direktiven (img-src data:, style-src 'unsafe-inline') sind bewusst tolerant gehalten, damit WordPress-Emoji, Admin-Bar und Plugin-Inline-Styles nicht zerschossen werden.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im 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>

⚠ Domains nach „script-src 'self'" je nach Bedarf erweitern (jeweils mit Leerzeichen getrennt, https:// vorangestellt). WICHTIG: img-src data: und style-src 'unsafe-inline' MÜSSEN drinbleiben, sonst zerschießt es WordPress-Emoji, Admin-Bar-Icons und alle Plugin-Inline-Styles.

✓ So prüfen Sie, ob es funktioniert: F12 → Konsole. Wenn etwas geblockt wird, steht dort „Refused to load the script ‚https://…‘" — diese URL identifizieren, die Domain in script-src ergänzen, neu laden.

Gute Grundregel: Nur eigene Inhalte sind standardmäßig erlaubt (default-src: self).

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
20 Referrer-Policy

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

Die Einstellung „no-referrer-when-downgrade" gibt zu viel URL-Information an andere Websites weiter.

☛ Handlungsbedarf: Ändern Sie die Referrer-Policy auf eine datenschutzfreundlichere Einstellung wie „strict-origin-when-cross-origin" oder „no-referrer". Die aktuelle Einstellung gibt zu viel Information an Dritte weiter.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre aktuelle Referrer-Policy gibt zu viel preis (z.B. „unsafe-url" oder „no-referrer-when-downgrade"). Wechseln Sie auf eine datenschutzfreundlichere Einstellung.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

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

⚠ Vorhandene Referrer-Policy-Zeile ersetzen.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

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

⚠ Vorhandenen Referrer-Policy-Eintrag ersetzen.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → Response Header — neuer Wert sichtbar.

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
0 MIME-Typ-Schutz

Kein MIME-Typ-Schutz (X-Content-Type-Options fehlt). Browser könnten Dateien falsch interpretieren.

☛ Handlungsbedarf: Fügen Sie den Header X-Content-Type-Options: nosniff hinzu. Dieser verhindert, dass Browser Dateien falsch interpretieren, was zu Sicherheitslücken führen kann. Ihr Hoster oder Webentwickler kann das in wenigen Minuten einrichten.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ohne den Header „X-Content-Type-Options: nosniff" rät der Browser den Dateityp aus dem Inhalt — was Angreifer ausnutzen können (z.B. eine als .jpg getarnte HTML-Datei wird als HTML ausgeführt). Der Fix ist eine einzige Zeile.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

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

⚠ Keinerlei Nebenwirkungen zu erwarten — gilt als sicherer Standard und ist seit Jahren best practice.

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 1: per .htaccess (empfohlen — kein Theme bearbeiten)

Datei: .htaccess im WordPress-Root

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

⚠ Kann gefahrlos parallel zu anderen Header-set-Einträgen stehen.

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes

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

⚠ Backup vor jeder Änderung an functions.php.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → Response Header: „x-content-type-options: nosniff".

↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
100 Clickjacking-Schutz

Clickjacking-Schutz aktiv: X-Frame-Options = SAMEORIGIN.

50 Berechtigungen (Kamera, Mikrofon etc.)

Permissions-Policy ist konfiguriert — Zugriff auf sensible Geräte-APIs wird kontrolliert.

45 Cookies

1 Erstanbieter- und 6 Drittanbieter-Cookie(s).

6 Drittanbieter-Cookie(s) erkannt. Diese können genutzt werden, um Sie über verschiedene Websites hinweg zu verfolgen.

☛ Handlungsbedarf: DSGVO-VERSTOSS: Drittanbieter-Cookies tracken Besucher über mehrere Websites hinweg. Das erfordert eine ausdrückliche Einwilligung (Opt-in) BEVOR die Cookies gesetzt werden. Lösung: (1) Prüfen Sie, welche externen Dienste die Cookies setzen. (2) Entfernen Sie nicht benötigte Dienste. (3) Für notwendige Dienste: Implementieren Sie einen Cookie-Consent-Banner, der diese Cookies erst nach Zustimmung lädt.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Drittanbieter-Cookies (z.B. von Google, Facebook) verfolgen Besucher über Websites hinweg. Nach § 25 TDDDG und Art. 6 DSGVO ist VOR dem Setzen eine ausdrückliche Einwilligung Pflicht. Lösung in drei Schritten: (1) prüfen, welche externen Dienste die Cookies setzen, (2) nicht zwingend nötige Dienste entfernen, (3) für unverzichtbare Dienste ein Consent-Banner einbauen, das die Cookies erst nach „Zustimmen" lädt.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Cookie-Consent-Plugins für WordPress: „Complianz" (kostenlos, sehr gründlich), „Borlabs Cookie" (kostenpflichtig, deutsch, sehr gut für Profis), „Real Cookie Banner" (DSGVO-fokussiert). Wichtig bei der Konfiguration: alle Tracking-Dienste auf „Vor Einwilligung NICHT laden" stellen — die meisten Plugins erkennen Standard-Dienste (GA, Maps, YouTube) automatisch.

✓ So prüfen Sie, ob es funktioniert: Browser im Inkognito-Modus öffnen, F12 → Tab „Application" → „Cookies" → ihre-domain.de. VOR dem Klick auf „Zustimmen" dürfen dort KEINE Cookies von google.com, facebook.com etc. stehen. NACH Zustimmung dann ja.

2 von 7 Cookie(s) ohne HttpOnly-Flag — könnten von Schadcode ausgelesen werden.

☛ Handlungsbedarf: Setzen Sie das HttpOnly-Flag für alle Cookies, die nicht von JavaScript benötigt werden. Das schützt vor dem Diebstahl von Sitzungsdaten durch Schadcode.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Cookies ohne „HttpOnly"-Flag können von JavaScript ausgelesen werden — ein XSS-Angreifer kann damit Session-Cookies stehlen und sich als der eingeloggte Nutzer ausgeben. Setzen Sie HttpOnly für alle Cookies, die JavaScript nicht aktiv selbst braucht.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

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

⚠ Sauberer wäre, Cookies direkt mit HttpOnly zu setzen (PHP: setcookie(..., [..., 'httponly'=>true])). Ausnahme: Cookies, die JS aktiv lesen muss (z.B. manche Consent-Cookies).

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: functions.php Ihres CHILD-Themes (oder besser wp-config.php)

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

⚠ WordPress-Login-Cookies sind seit Version 2.x bereits HttpOnly. Wenn Sie ein Plugin nutzen, das Session-Cookies setzt (z.B. WooCommerce-Cart vor Login), prüfen Sie dort die Einstellungen.

✓ So prüfen Sie, ob es funktioniert: F12 → Application → Cookies → Spalte „HttpOnly" zeigt überall Häkchen (außer bei bewusst JS-lesbaren Cookies wie z.B. dem Consent-Cookie).

7 von 7 Cookie(s) ohne SameSite-Schutz — werden bei Anfragen von anderen Websites mitgesendet.

☛ Handlungsbedarf: Setzen Sie das SameSite-Attribut (Lax oder Strict) für alle Cookies. Das verhindert, dass Cookies bei Anfragen von fremden Websites mitgesendet werden (CSRF-Schutz).
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ohne „SameSite"-Attribut werden Cookies bei Anfragen von fremden Websites an Sie mitgesendet — Grundlage für CSRF-Angriffe (eine fremde Seite kann im Hintergrund Aktionen in Ihrem Namen auslösen, weil das Login-Cookie mitgeschickt wird). Setzen Sie SameSite=Lax als Minimum.

Apache-Server (klassisches Hosting bei den meisten Anbietern)

Datei: .htaccess im Web-Root

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

⚠ SameSite=Lax ist ein guter Standard. Strict ist sicherer, bricht aber externe Verlinkungen (User klickt von Google auf Ihre Seite — Cookies werden NICHT gesendet, Login ist weg). None erlaubt Cross-Site, braucht zwingend „; Secure".

WordPress Spezial für WordPress: so tragen Sie es ein

Weg 2: per functions.php im Child-Theme (Alternative für Fortgeschrittene)

Datei: wp-config.php (oberhalb von „/* That’s all, stop editing! */")

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

⚠ Setzt SameSite/Secure/HttpOnly für PHP-Session-Cookies. WordPress-Login-Cookies sind seit WP 6.2 standardmäßig SameSite=Lax. Bei älteren Versionen unbedingt updaten.

✓ So prüfen Sie, ob es funktioniert: F12 → Application → Cookies → Spalte „SameSite" — sollte überall „Lax" oder „Strict" stehen, nicht leer.

Erstanbieter

Name Domain Verschlüsselt Nur Server SameSite
session_token .xvideos.com Ja Ja None

Drittanbieter

Name Domain Verschlüsselt Nur Server SameSite
fromaffiliate .chaturbate.com Ja Ja None
in_hit chaturbate.com Ja Nein None
sbr .chaturbate.com Ja Ja None
csrftoken .chaturbate.com Ja Nein None
cf_clearance .chaturbate.com Ja Ja None
__cf_bm .chaturbate.com Ja Ja None
↓ KOMPLETT-LÖSUNG ANZEIGEN Alle fehlenden Security-Header zusammen am Ende des Reports — fertig zum Kopieren.
70 Lokaler Speicher (Web Storage)

1 localStorage- und 0 sessionStorage-Einträge gefunden.

localStorage

NameWert
thumbloadstats_vthumbs {"21":[{"s":2,"d":44}],"23":[{"s":2,"d":52}],"last":{"s":2,"v":[44,52]},"t":1790
20 Drittanbieter-Anfragen

128 Anfrage(n) an 12 verschiedene Drittanbieter-Server.

2 Drittanbieter-Server außerhalb der EU/des EWR — potenziell problematisch für die DSGVO.

☛ Handlungsbedarf: DSGVO-VERSTOSS MÖGLICH: Daten Ihrer Besucher werden an Server außerhalb der EU/des EWR übertragen. Seit dem Schrems-II-Urteil ist das nur mit besonderen Schutzmaßnahmen zulässig. Lösungen: (1) Wechseln Sie zu EU-basierten Alternativen (z.B. Matomo statt Google Analytics, Bunny Fonts statt Google Fonts). (2) Falls nicht möglich: Stellen Sie sicher, dass Standardvertragsklauseln (SCC) und zusätzliche technische Maßnahmen vorhanden sind. (3) Holen Sie eine ausdrückliche Einwilligung der Besucher ein, BEVOR Daten übertragen werden.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

DSGVO-relevant: Daten Ihrer Besucher (mindestens IP-Adresse + User-Agent) werden an Server außerhalb der EU/des EWR übertragen. Seit dem Schrems-II-Urteil (2020) ist das nur mit Standardvertragsklauseln + zusätzlichen Schutzmaßnahmen UND vorheriger Einwilligung zulässig. Beste Lösung: durch EU-Alternativen ersetzen, wo möglich.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Häufige Übeltäter und EU-Alternativen: Google Fonts → Bunny Fonts oder lokal hosten (Plugin „OMGF — Host Google Fonts Locally"). Google Analytics → Matomo (selbst gehostet) oder Plausible (EU-Server). Google reCAPTCHA → hCaptcha (EU) oder Friendly Captcha. Google Maps → OpenStreetMap. YouTube-Einbettung → Plugin „WP YouTube Lyte" lädt erst nach Klick. CDN: Cloudflare → BunnyCDN (EU) oder KeyCDN.

✓ So prüfen Sie, ob es funktioniert: Im Inkognito-Modus laden, F12 → Netzwerk → alle Anfragen auflisten → unter „Domain" auf Server außerhalb EU prüfen. Nach Umstellung sollte hier keine US-Domain mehr unaufgefordert geladen werden.

10 Drittanbieter-Server innerhalb der EU/des EWR.

thumb-cdn77.xvideos-cdn.com 42 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://thumb-cdn77.xvideos-cdn.com/e5426ed7-51dc-4aed-a28f-dd76868f96dc/6/xv_24_t.avif

https://thumb-cdn77.xvideos-cdn.com/2da2986d-ccc9-4936-9189-a7aaee7f4e0c/6/xv_11_t.avif

https://thumb-cdn77.xvideos-cdn.com/ad9a3db8-d2cb-4c0a-b318-951db9f427ee/6/xv_7_t.avif

https://thumb-cdn77.xvideos-cdn.com/4706f87e-f057-44f6-885f-e029caf66615/6/xv_29_t.avif

https://thumb-cdn77.xvideos-cdn.com/75c8eba0-69cf-4994-a6d5-b9335727beec/6/xv_10_t.avif

https://thumb-cdn77.xvideos-cdn.com/a3d200f3-c67c-4c8d-8d06-d85f06d09380/6/xv_30_t.avif

https://thumb-cdn77.xvideos-cdn.com/5cfe04c7-c7d1-45b8-88e3-20ef4fd1b4f7/6/xv_16_t.avif

https://thumb-cdn77.xvideos-cdn.com/7aaf91d6-0b02-400c-959d-f49447a0bb12/0/xv_21_t.jpg

https://thumb-cdn77.xvideos-cdn.com/7e08fe9d-c7f0-4520-97f7-8c883b27f685/6/xv_16_t.avif

https://thumb-cdn77.xvideos-cdn.com/6fbae884-4cf1-46dc-99e5-ec1764b20fa3/6/xv_4_t.avif

https://thumb-cdn77.xvideos-cdn.com/f839cbe3-fe13-4dd6-b4af-2e40275df639/6/xv_6_t.avif

https://thumb-cdn77.xvideos-cdn.com/9d1dd072-5c3c-4daa-91d5-c2487628e2da/6/xv_4_t.avif

https://thumb-cdn77.xvideos-cdn.com/cd9f5cf7-a726-4d4d-8771-6c1969abf625/6/xv_5_t.avif

https://thumb-cdn77.xvideos-cdn.com/6cc622f0-3bde-4bc9-9e96-efd7fa83fcde/6/xv_21_t.avif

https://thumb-cdn77.xvideos-cdn.com/e000ce1a-0d40-4bf9-96e1-d2c9b17fbedf/5/xv_23_t.avif

https://thumb-cdn77.xvideos-cdn.com/3bd7f218-58f8-4964-b50f-3d25d63c11bc/3/xv_12_t.avif

https://thumb-cdn77.xvideos-cdn.com/2b51cf3b-13e1-4776-b84b-d5eff6606853/6/xv_5_t.avif

https://thumb-cdn77.xvideos-cdn.com/ba2c8aed-76f4-4767-979e-13e65c142948/6/xv_19_t.avif

https://thumb-cdn77.xvideos-cdn.com/56ad8d36-8dc0-470f-8864-2b26092f2b13/6/xv_16_t.avif

https://thumb-cdn77.xvideos-cdn.com/dd091707-d170-4092-8ec9-6edf2ca0ecb8/5/xv_28_t.avif

... und 22 weitere Anfrage(n)

web2.static.mmcdn.com 39 Anfragen · Canada (CA) · EU/EWR

Aufgerufene 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.d68f46057a98.css

https://web2.static.mmcdn.com/CACHE/css/output.0bb5ddf86eb1.css

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

https://web2.static.mmcdn.com/CACHE/js/output.427e085f0fcf.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/CACHE/js/output.ad8bfd0d930c.js

https://web2.static.mmcdn.com/cachebust/runtime-prod-0f6a8cef8f2d8467091e.js

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

https://web2.static.mmcdn.com/cachebust/605-prod-393db21c9649aa8805cf.js

https://web2.static.mmcdn.com/cachebust/7358-prod-ef4522d34378ec903924.js

https://web2.static.mmcdn.com/CACHE/js/output.178d48fc5455.js

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

https://web2.static.mmcdn.com/cachebust/3835-prod-c3ecca10f52a1afee0d0.js

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

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

https://web2.static.mmcdn.com/cachebust/9164-prod-e774c1f0bb2547371ea3.js

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

... und 19 weitere Anfrage(n)

assets-o7.xvideos-cdn.com 15 Anfragen · Netherlands (NL) · EU/EWR

Aufgerufene URLs:

https://assets-o7.xvideos-cdn.com/v-31bb380f4eb/v3/css/default/main.css

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

https://assets-o7.xvideos-cdn.com/v-a526303ca99/v3/js/skins/min/default.header.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-f67b45f9697/v3/js/i18n/front/english.json

https://assets-o7.xvideos-cdn.com/v-31bb380f4eb/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-1f051dbc9e6/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-1f051dbc9e6/v3/js/jquery.js

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

chaturbate.com 8 Anfragen · Canada (CA) · EU/EWR

Aufgerufene 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.7140489930160073:1789873812:czXEvr2BT9zttRroY8DGfXBF2mcHrUJvMI9A_KKEAZg/a3ddfccbbf546ef7

https://chaturbate.com/push_service/lcp_presence/thebellaharts/?lcp_impression_id=01a0bd03-3ba7-703d-9ac2-dda2ac9d1789

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

thumbs-gcore.xvideos-cdn.com 6 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

https://thumbs-gcore.xvideos-cdn.com/6c1dff04-e66f-40db-a08b-ac01aaae3279/6/xv_25_t.avif

https://thumbs-gcore.xvideos-cdn.com/6b993094-4fcf-4af7-9f38-04ca2ab92e3c/6/xv_13_t.avif

https://thumbs-gcore.xvideos-cdn.com/c3af1dd4-0eaf-462b-8c00-424e70e44e1e/6/xv_21_t.avif

https://thumbs-gcore.xvideos-cdn.com/deba6bb4-3578-4527-8183-b7f5d914efa4/6/xv_5_t.avif

https://thumbs-gcore.xvideos-cdn.com/fe39a2cc-2383-4002-a062-5f1b6c28a347/6/xv_23_t.avif

https://thumbs-gcore.xvideos-cdn.com/1f7d7f66-1760-427d-b6d9-b39d56aa4bfb/6/xv_9_t.avif

s.pemsrv.com 4 Anfragen · Netherlands (NL) · EU/EWR

Aufgerufene URLs:

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

https://s.pemsrv.com/iframe.php?url=H4sIAAAAAAAAAzWOW2.CMACF_42P2nIpsMQse5hhAzsnpRJeSC84mIhtLQbJfvzUZW_nyzn5chpr1flpsRANs4PhzNZzcTou2n7xbE.DWb7YszMT7KhY.9Uvi6Ch25k1TByWALxWmNn2Uleh7wAHhRX0EPTCCICZ6Fpx

https://s.pemsrv.com/cimp.php?t=api&data=H4sIAAAAAAAAA21RS24CMQy9Si/AyN/EYd2eoOIAMxloZwFUDEJU8uHrpFRiUb0kiu34PTsmoLSBsiF4AdgibgU82yBpoAFF/PVt54J+vy3z/rwO9Xx0BKJwJU7GxQ3ElF1LVsnkCuamFKzmKAnFCoAHKTkEJAk

... und 1 weitere Anfrage(n)

web.static.mmcdn.com 4 Anfragen · Canada (CA) · EU/EWR

Aufgerufene URLs:

https://web.static.mmcdn.com/jsi18n/en/djangojs.js?hash=65b1022687e8

https://web.static.mmcdn.com/jsi18n/en/frontend.js?hash=65b1022687e8

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

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

nwr.mmcdn.com 4 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

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

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

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

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

thumb.live.mmcdn.com 2 Anfragen · Canada (CA) · EU/EWR

Aufgerufene URLs:

https://thumb.live.mmcdn.com/ribh/thebellaharts.jpg

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

f.static.mmcdn.com 2 Anfragen · Canada (CA) · EU/EWR

Aufgerufene 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 Anfragen · Germany (DE) · EU/EWR

Aufgerufene URLs:

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

nwr.static.mmcdn.com 1 Anfragen · United States (US) · Nicht-EU
⚠ DSGVO-Problem: Dieser Server steht außerhalb der EU/des EWR. Die Übertragung personenbezogener Daten (z.B. IP-Adressen Ihrer Besucher) an diesen Server kann gegen Art. 44–49 DSGVO verstoßen. Ohne gültige Rechtsgrundlage (z.B. Einwilligung, Standardvertragsklauseln) ist diese Datenübermittlung unzulässig.

Aufgerufene URLs:

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

60 Tracker-Erkennung

2 bekannte(r) Tracker erkannt! Diese verfolgen Besucher über verschiedene Websites.

☛ Handlungsbedarf: DSGVO-VERSTOSS: Tracker verfolgen Ihre Besucher über verschiedene Websites hinweg. Das erfordert eine ausdrückliche Einwilligung VOR dem Laden der Tracker. Lösungen: (1) Entfernen Sie alle nicht notwendigen Tracker. (2) Wechseln Sie zu datenschutzfreundlichen Alternativen (z.B. Matomo, Plausible, Fathom statt Google Analytics). (3) Für unverzichtbare Tracker: Implementieren Sie einen Consent-Banner, der Tracker erst NACH Zustimmung lädt.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Tracker (Google Analytics, Facebook Pixel, …) erfassen Besucher und verfolgen sie über mehrere Websites. Nach § 25 TDDDG und Art. 6 Abs. 1 DSGVO erforderlich: ausdrückliche Einwilligung VOR dem Laden des Trackers. „Weiter scrollen = Zustimmung" ist NICHT zulässig.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Consent-Plugins, die Tracker korrekt blockieren bis zur Einwilligung: „Complianz" (kostenlos, sehr gut), „Real Cookie Banner", „Borlabs Cookie" (kostenpflichtig, am gründlichsten). Prinzip nach Einrichtung: Tracker-Snippet (z.B. GA-Script) NICHT direkt im Theme einbauen, sondern dem Consent-Plugin übergeben, das schaltet sie erst nach „Zustimmen" frei. Datenschutzfreundliche Tracker-Alternativen: Matomo (Cookieless-Modus → braucht u.U. kein Consent), Plausible (EU, anonym, kein Consent nötig laut Anbieter — Rechtsberatung empfohlen).

✓ So prüfen Sie, ob es funktioniert: Inkognito-Browser, Seite laden — VOR „Zustimmen": F12 → Netzwerk → keine Anfragen an google-analytics.com, facebook.com/tr usw. NACH „Zustimmen" dann ja.

Chaturbate (Advertising): chaturbate.com

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

0 Externe Ressourcen-Integrität (SRI)

0 von 9 externen Ressource(n) nutzen Integritätsprüfung (SRI).

☛ Handlungsbedarf: Nicht alle externen Ressourcen haben eine Integritätsprüfung. Fügen Sie SRI-Hashes für die fehlenden Ressourcen hinzu.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Nur ein Teil Ihrer externen Ressourcen (0 von 9) ist mit SRI gesichert. Ergänzen Sie integrity-Attribute auch bei den restlichen.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Vorgehen: Quelltext der Seite ansehen → alle <script src="https://…"> und <link href="https://…"> ohne integrity-Attribut → unter https://www.srihash.org/ Hash erzeugen → integrity="sha384-…" crossorigin="anonymous" ergänzen. Plugin „WP-SRI" kann das für viele Fälle automatisieren.

✓ So prüfen Sie, ob es funktioniert: F12 → Konsole bei Seitenladung: keine „Failed to find a valid digest"-Meldungen. Quelltext: alle externen <script>/<link> haben integrity-Attribut.

Keine externen Ressourcen nutzen Integritätsprüfung. Manipulierte Dateien würden nicht erkannt.

☛ Handlungsbedarf: Fügen Sie Subresource Integrity (SRI) für alle externen Skripte und Stylesheets hinzu. Damit erkennt der Browser, wenn eine externe Datei manipuliert wurde. Ihr Webentwickler kann die integrity-Attribute einfach generieren.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

SRI (Subresource Integrity) ist eine Prüfsumme, die im HTML-Code angibt, wie eine extern geladene Datei aussehen MUSS. Manipuliert jemand die externe Datei (z.B. wenn ein CDN gehackt wird), lädt der Browser sie nicht aus. Sie ergänzen das Attribut „integrity" am script/link-Tag.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: In WordPress lassen sich SRI-Hashes selten manuell ergänzen (Skripte werden via wp_enqueue_script() gesetzt). Plugin „WP-SRI" (im Plugin-Verzeichnis) ergänzt integrity-Hashes automatisch für externe Skripte/Styles. Für statisch ins Theme eingebundene Ressourcen: Hash unter https://www.srihash.org/ generieren, integrity="sha384-…" und crossorigin="anonymous" am <script>/<link>-Tag ergänzen.

✓ So prüfen Sie, ob es funktioniert: F12 → Netzwerk → Anfragen mit Code 200 von CDN-Domains (cdn.jsdelivr.net, cdnjs.cloudflare.com etc.) → im HTML-Quelltext muss der Tag „integrity=\"sha384-…\" crossorigin=\"anonymous\"" enthalten.

65 DNS-Sicherheit

Keine CAA-Einträge. Jede Zertifizierungsstelle könnte ein Zertifikat für diese Domain ausstellen.

☛ Handlungsbedarf: Erstellen Sie CAA-DNS-Einträge, um festzulegen, welche Zertifizierungsstellen Zertifikate für Ihre Domain ausstellen dürfen. Das verhindert, dass unbefugte Zertifikate ausgestellt werden.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

CAA-Einträge (Certification Authority Authorization) legen im DNS fest, welche Zertifizierungsstellen Zertifikate für Ihre Domain ausstellen dürfen. Ohne CAA-Eintrag könnte ein Angreifer bei jeder beliebigen CA ein falsches Zertifikat für Ihre Domain bestellen. Der Eintrag ist eine reine DNS-Konfiguration und wird im DNS-Panel Ihres Domain-Anbieters (NICHT in WordPress) gesetzt.

☞ Konkrete CAA-Werte für die zehn häufigsten Hoster (DACH-Raum)

Suchen Sie Ihren Hoster in der Tabelle, kopieren Sie die passenden Werte ins DNS-Panel. Bei Mehrfach-CAs: für jede CA einen eigenen CAA-Record anlegen (alle mit Tag issue, Flag 0, Name @). Zusätzlich empfohlen: ein iodef-Record mit einer Kontakt-E-Mail für Missbrauchs-Meldungen.

#HosterVerwendete CA(s)CAA-Wert(e) — Tag issue
1Hetzner Webhosting (Basic-Zertifikat, kostenlos im Paket)DigiCert (Programm „Encryption Everywhere")digicert.com
1Hetzner Webhosting (Let’s Encrypt, kostenlos)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   Typ   Flag   Tag      Wert
@      CAA   0      issue    "digicert.com"
@      CAA   0      issue    "letsencrypt.org"
@      CAA   0      iodef    "mailto:security@ihre-domain.de"

Die iodef-Zeile (letzte Zeile) ist optional aber empfohlen: dort melden CAs Missbrauchsversuche an Sie. Falls Sie eine Sub-Domain zusätzlich absichern wollen (z.B. shop.ihre-domain.de), separate Records mit dem Sub-Domain-Namen statt @ anlegen — moderne CAs prüfen aber auch parent-CAA automatisch.

Wenn Sie Ihren Hoster nicht in der Liste finden: Schauen Sie das aktuell ausgestellte Zertifikat im Browser an (Schloss-Symbol → Zertifikat anzeigen → Aussteller). Dort steht der CA-Name (z.B. „Sectigo RSA Domain Validation Secure Server CA" → Wert sectigo.com). Den Wert als CAA-Record anlegen, fertig.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Die CAA-Records werden NICHT in WordPress angelegt, sondern im DNS-Panel Ihres Domain-Anbieters oder DNS-Providers (z.B. Hetzner-Robot, IONOS-Domains, Cloudflare-Dashboard, INWX, ns3.hajo-nolte.de etc.). Übliche Bezeichnung im DNS-Panel: „CAA-Record" oder unter „TXT-Records" mit Typ-Auswahl „CAA". Je CA ein separater Record.

✓ So prüfen Sie, ob es funktioniert: Auf https://www.ssllabs.com/ssltest/analyze.html?d=ihre-domain.de → Abschnitt „DNS CAA" → alle Ihre CAs sollten dort aufgelistet sein. Oder per dig: dig CAA ihre-domain.de.

3 Nameserver vorhanden — gute Redundanz.

Keine IPv6-Unterstützung (kein AAAA-Eintrag).

☛ Handlungsbedarf: Aktivieren Sie IPv6-Unterstützung (AAAA-Einträge) für Ihre Domain. Immer mehr Nutzer verwenden IPv6.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre Domain hat keine IPv6-Adresse (AAAA-Eintrag). Über 40% aller deutschen Internetnutzer sind über IPv6 unterwegs (Mobilfunk vor allem) — die müssen dann den Umweg über IPv4-Gateways nehmen, was langsamer ist.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Reine DNS+Server-Sache. Schritt 1: prüfen, ob Ihr Hoster eine IPv6-Adresse für Sie hat (im Kundenpanel oder per Support-Anfrage). Schritt 2: im DNS-Panel einen AAAA-Eintrag mit dieser IPv6 anlegen. Schritt 3: testen.

✓ So prüfen Sie, ob es funktioniert: dig AAAA ihre-domain.de — oder online https://ipv6-test.com/validate.php?url=ihre-domain.de.

SPF-Eintrag vorhanden: 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: — schützt vor E-Mail-Spoofing.

Kein DMARC-Eintrag. Die Domain ist anfällig für E-Mail-Phishing.

☛ Handlungsbedarf: Erstellen Sie einen DMARC-DNS-Eintrag unter _dmarc.ihredomain.de. DMARC schützt vor Phishing und E-Mail-Spoofing. Beispiel: v=DMARC1; p=quarantine; rua=mailto:dmarc@ihredomain.de
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

DMARC kombiniert SPF und DKIM zu einer expliziten Anweisung an empfangende Mail-Server: „Was tun, wenn E-Mails behaupten von uns zu kommen, aber SPF/DKIM scheitert?" Ohne DMARC entscheidet jeder Mail-Server selbst — meist großzügig. Mit DMARC=reject verhindern Sie wirksam Phishing in Ihrem Namen.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: DNS-Sache. TXT-Eintrag bei Subdomain _dmarc.ihre-domain.de. Empfohlene Stufen: Beobachten erst: v=DMARC1; p=none; rua=mailto:dmarc-reports@ihre-domain.de — mehrere Wochen Berichte ansehen. Dann verschärfen: v=DMARC1; p=quarantine; rua=… — verdächtige Mails landen im Spam. Final: v=DMARC1; p=reject; rua=… — werden ganz abgewiesen.

✓ So prüfen Sie, ob es funktioniert: dig TXT _dmarc.ihre-domain.de — oder online https://dmarcian.com/dmarc-inspector/.

100 Sicherheitskontakt (security.txt)

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

Kontaktfeld vorhanden (Pflichtfeld) — Sicherheitsforscher können Schwachstellen melden.

Ablaufdatum vorhanden (Pflichtfeld).

100 Externe Reporting-Endpunkte

Keine externen Reporting-Endpunkte erkannt.

85 Cookie-Einwilligung (Consent)

Cookie-Einwilligungssystem erkannt: TCF API (__tcfapi).

TCF-kompatibles Consent-System (Transparency & Consent Framework) — Standard der IAB.

Consent-System erkannt, aber Banner scheint nicht sichtbar zu sein.

☛ Handlungsbedarf: Das Consent-System scheint nicht sichtbar zu sein. Stellen Sie sicher, dass der Cookie-Banner beim ersten Besuch angezeigt wird und nicht durch CSS oder JavaScript verborgen ist.
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihr Consent-System ist eingebaut, aber das Banner scheint nicht sichtbar — möglicherweise von einem anderen Plugin oder eigenen CSS-Regeln verborgen. Das ist ein Risiko: ohne sichtbares Banner gilt keine Einwilligung.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Vorgehen: 1) Browser-Cache + Cookies löschen, Inkognito-Tab nutzen. 2) Im Consent-Plugin: prüfen, ob Anzeige-Bedingungen das Banner versehentlich ausblenden (z.B. „nur für EU-Besucher" — und Sie testen vom EU-Server gerade aus). 3) Browser-Konsole F12 → Tab „Konsole" auf rote Fehler von consent-Skripten prüfen. 4) Inspektor → DOM nach „cookie", „consent" durchsuchen — Element vorhanden, aber display:none? Z-Index zu niedrig? 5) Anderes Plugin (Cookie-Notice-Konkurrent) deinstallieren.

✓ So prüfen Sie, ob es funktioniert: Inkognito-Tab, Seite laden, 5 Sekunden warten — Banner sichtbar zentral/unten, blockiert Hauptinhalt nicht komplett, ist anklickbar.

Tracker werden bereits beim Seitenaufruf geladen — möglicherweise VOR der Einwilligung.

☛ Handlungsbedarf: Tracker werden beim Seitenaufruf geladen, möglicherweise bevor der Besucher zugestimmt hat. Stellen Sie sicher, dass Ihr Consent-System Tracker erst NACH Einwilligung aktiviert (Opt-in, nicht Opt-out).
▸ So beheben Sie das — Schritt-für-Schritt-Anleitung

Ihre Tracker werden geladen, bevor der Nutzer einwilligen kann („pre-consent loading"). Das ist ein häufiger Konfigurationsfehler bei Cookie-Plugins — Banner erscheint, aber zu spät: GA-Skript läuft schon. Verstößt gegen § 25 TDDDG.

WordPress Spezial für WordPress: so tragen Sie es ein

WordPress-Plugin: Ursache liegt fast immer im Theme oder einem Tracking-Plugin, das den Tracker-Code direkt einbettet (z.B. „Google Analytics for WordPress" mit Auto-Insert). Lösung: 1) Tracking-Code AUS dem Theme/Plugin entfernen. 2) In Consent-Plugin (Complianz/Real Cookie Banner): Tracker als „Service" anlegen, Skript-Snippet dort hinterlegen — das Plugin lädt es erst bei Einwilligung. 3) ALTERNATIV: Plugin „Pys — PixelYourSite" + Consent-Verknüpfung. KEIN „GA bevor Consent als anonymisiert laden" — ist DSGVO-rechtlich nicht abschließend geklärt und riskant.

✓ So prüfen Sie, ob es funktioniert: Inkognito → F12 → Netzwerk (alles löschen, dann Aufzeichnung starten) → Seite laden, NICHT auf Banner klicken, 10 Sekunden warten → es darf KEINE Anfrage an google-analytics.com, googletagmanager.com, facebook.com/tr, doubleclick.net etc. erscheinen.

100 Datenschutzerklärung & Impressum

Datenschutzerklärung verlinkt: „Privacy policy" (https://info.xvideos.net/legal/privacy).

Impressum verlinkt: „Privacy notice" (https://info.xvideos.net/legal/privacynotice).

Datenschutzerklärung ist erreichbar (HTTP 200).

⚙ Ihre fertige Security-htaccess

Alle fehlenden Security-Header zu einem einzigen Block kombiniert. Diesen Block ans Ende Ihrer .htaccess hängen — fertig. 6 Header werden gesetzt.

⚠ Warum diese Empfehlung KEINEN 100%-Score gibt — und warum das mit WordPress so ist

Die Content-Security-Policy oben enthält bewusst 'unsafe-inline' sowohl für style-src als auch für script-src. Damit ist KEIN vollständiger XSS-Schutz möglich — das ist eine pragmatische Entscheidung, kein Bug.

Warum? Ein typisches WordPress-Setup (Theme + 5-15 Plugins) schreibt 10-50 verschiedene Inline-<script>-Blocks ins HTML: jQuery-Init, Slider-Initialisierung, Cookie-Banner, Tracking, GTM, Web Vitals, Lazy-Load, Speculation Rules usw. Wenn die strikte CSP script-src 'self' diese alle blockt, ist die Site optisch und funktional kaputt (Slider weiß, Cookie-Banner zerschossen, Plugins tot). Genau dieses Problem hatten Sie soeben mit Ihrer Slider-Seite.

Konsequenz fürs Scoring: Sites, die WordPress mit Plugins einsetzen, können in dieser App maximal ~75-85 Punkte in der CSP-Kategorie erreichen — das volle 100%-Rating ist erst möglich, wenn der inline-Code per Nonce oder Hash signiert wird (technisch anspruchsvoll, bricht bei jedem Theme/Plugin-Update).

Wege zum vollen XSS-Schutz (in steigender Komplexität):

  • Plugin „WP Content Security Policy & Headers" — fügt automatisch Nonces zu inline-Scripts hinzu (mittlerer Aufwand, sauberste WP-Lösung).
  • Hash-basierte CSP — jedes inline-Script per SHA-256 in der CSP whitelisten (fragil, bricht bei Updates).
  • Inline-Scripts externalisieren — Theme/Plugins so umbauen, dass kein inline-JS mehr ausgegeben wird (großer Aufwand, oft unmöglich).

Wer keinen dieser Wege geht, lebt mit 'unsafe-inline' — wie ca. 95% aller produktiven WordPress-Sites im Web. Die anderen CSP-Direktiven schützen weiterhin: default-src 'self' blockt externe Ressourcen, object-src 'none' verbietet Flash/Java, frame-ancestors 'self' verhindert Clickjacking, base-uri 'self' verhindert Base-Tag-Hijacking. Es ist kein Maximalschutz, aber realistischer Schutz für die WP-Praxis.

⚠ Wichtig bei Hetzner-Konsoleh-Webhosting (Managed-Hosting / Shared-Hosting)

Bei Hetzner-Konsoleh-Webhosting (und vergleichbaren Shared-Hostern wie All-Inkl, IONOS, Strato, 1blu, …) wirft Apache einen HTTP 500 Internal Server Error, sobald Header always edit Set-Cookie … expr=… in der .htaccess steht. Der Apache-Error-Log nennt es so:

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

Das ist keine WebForensik-Fehlfunktion und kein Tippfehler — der Shared-Hoster hat das mod_headers-expr=-Subset per AllowOverride-Limit gesperrt (aus Sicherheitsgründen, weil Header edit auch Cookies anderer Anwender manipulieren könnte).

☛ Für Hetzner-Konsoleh-Nutzer: nehmen Sie unten die Variante mit dem roten „Hetzner / Shared"-Badge. Sie besteht aus zwei Dateien (.htaccess + wp-config.php) statt einer, vermeidet aber den 500-Fehler garantiert. Die Cookie-Flags landen dort in der wp-config.php, nicht in der .htaccess.

Apache Standard-Apache (für alle Hoster, ohne WordPress)

Diesen Block ans Ende Ihrer .htaccess im Web-Root hängen — fertig.

<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 (zwei Dateien)

Diese Variante verhindert den 500 Internal Server Error auf Hetzner-Konsoleh und vergleichbaren Shared-Hostern (All-Inkl, IONOS, Strato, 1blu …): die .htaccess enthält NUR die Header-Direktiven (kein „Header edit"), die Cookie-Flags wandern in die wp-config.php. Zwei Dateien zu editieren statt einer, dafür garantiert lauffähig.

1. Datei: .htaccess im 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. Datei: wp-config.php im WordPress-Root

OBERHALB der Zeile „/* That's all, stop editing! */" einfügen. Vorher Backup von wp-config.php anlegen!

// === 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 im WP-Root

Diesen Block OBERHALB der Zeile „# BEGIN WordPress" einfügen, sonst überschreibt WP ihn bei Permalink-Änderungen.

# 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 für WordPress: functions.php im Child-Theme

Falls Ihr Hoster .htaccess-Änderungen nicht erlaubt: dieses PHP-Snippet ans Ende der functions.php Ihres CHILD-Themes hängen. Vorher Backup machen — NIE das Haupt-Theme bearbeiten, das wird bei Updates überschrieben.

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);
Trockenübung — wir laden Ihre Seite nochmal mit den vorgeschlagenen Headern und zeigen, welche Ressourcen geblockt würden. Dauert ca. 30 Sekunden.
HTTP Response Headers
HeaderWert
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 31629
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, 20 Sep 2026 04:11:39 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.dtpzov.com"), ch-ua-platform-version=(self "https://s.orbsrv.com" "https://s.pemsrv.com" "https://s.dtpzov.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=1425f644b6504696tRsHoLAJoo86QDwzvZ5DK6FF5hyeyShEhoqg3mst5F1mjcvP9E4F8ui-dqAvzbI-wXOVx2OoA2GVoieDlyxKDkhX4YcWGJlk2BsRbhkb74dETOYvBOD5SZ7UDoQCSRe0RFnR_HT1LjYLfF_yx6xE2ey0xPyYgi1ReJJmBbHP6M_9DtvbnWUnvXxpEGKnNMzL; expires=Tue, 20 Oct 2026 04:11:39 GMT; Max-Age=2592000; path=/; domain=.xvid
vary Accept-Encoding,User-Agent,Accept-Language,Cookie
x-frame-options SAMEORIGIN

Neue Analyse · Vergleichen

Bewertung auf Ihrer Website einbetten

Zeigen Sie Ihren WebForensik-Score öffentlich. Das Badge ist ein leichtes SVG, lädt schnell und respektiert die Privatsphäre Ihrer Besucher (kein Tracking).

WebForensik Score Badge

HTML-Code zum Einbetten (dieser konkrete Scan)

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

Oder dynamisch — zeigt immer den jüngsten Scan dieser 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>