Alles in komprimierter Form
Hier ist die kompakte Zusammenfassung über alles Wissenswerte zum Thema Passwort-Cookies in WordPress.
1. Der Zweck des Cookies
Wenn ein WordPress-Beitrag oder eine Seite mit einem Passwort geschützt ist, möchte man den Besuchern nicht zumuten, bei jedem Klick oder Neuladen das Passwort erneut einzugeben. Der Cookie dient als „Eintrittskarte“, die dem Browser zeigt: „Dieser Nutzer hat das Passwort bereits einmal korrekt eingegeben.“
2. Name und Identifikation
Der Cookie hat keinen festen Namen, sondern wird für jede WordPress-Installation individuell generiert, um Konflikte zu vermeiden:
- Format:
wp-postpass_[HASH] - Der
[HASH]ist eine lange Kette aus zufälligen Zeichen, die auf dem Secret Key deinerwp-config.phpbasiert.
3. Was wird gespeichert?
Es ist ein weitverbreiteter Irrtum, dass das Passwort selbst im Cookie steht.
- Inhalt: Ein mathematischer Hash (verschlüsseltes Abbild).
- Sicherheit: Selbst wenn jemand den Cookie stiehlt, kann er daraus nicht direkt das Passwort im Klartext auslesen. WordPress vergleicht auf dem Server lediglich, ob der Hash im Cookie zum Passwort des Beitrags passt.
4. Gültigkeit (Die Lebensdauer)
- Standard: WordPress setzt die Gültigkeit auf 10 Tage.
- Verhalten: Nach Ablauf dieser Zeit löscht der Browser den Cookie automatisch, und das Passwort-Formular erscheint erneut.
- Manuelles Löschen: Wenn ein Nutzer seinen Browser-Cache oder die Cookies löscht, ist der Zugriff sofort weg, egal wie viel Restlaufzeit noch vorhanden war.
5. Steuerung via Code (post_password_expires)
Über den Filter post_password_expires lässt sich das Verhalten präzise steuern.
| Zielsetzung | Logik im Code |
|---|---|
| Verlängern | return time() + [Sekunden]; (z.B. 31.536.000 für 1 Jahr) |
| Verkürzen | return time() + 3600; (z.B. 1 Stunde) |
| Sitzungsbasiert | return 0; (Cookie wird beim Schließen des Browsers gelöscht) |
| Differenzieren | Nutzung von if (has_category('...')) oder if (has_tag('...')) |
6. Wichtige Besonderheiten & Fallstricke
- SSL/HTTPS: Wenn deine Seite über HTTPS läuft, wird der Cookie als „Secure“ markiert und nur über verschlüsselte Verbindungen übertragen.
- Caching-Probleme: Aggressive Caching-Plugins (wie Varnish oder manche Nginx-Konfigurationen) können manchmal den Cookie ignorieren oder die Seite „falsch“ cachen. In diesem Fall sehen Nutzer trotz korrektem Cookie immer wieder die Passworteingabe.
- Reihenfolge bei Filtern: Wenn du differenzierst (z.B. nach Kategorien), gewinnt immer die Bedingung, die im Code zuerst steht.
- Keine Auswirkung auf eingeloggte User: Die Cookie-Dauer wird in dem Moment festgelegt, in dem das Passwort eingegeben wird. Eine Code-Änderung wirkt sich also nicht rückwirkend auf Besucher aus, die bereits einen gültigen Cookie im Browser haben.
Zusammenfassendes Urteil
Der WordPress-Passwort-Cookie ist ein einfaches, aber effektives Werkzeug für “Lightweight”-Inhaltsschutz. Er ist nicht für hochsensible Daten (wie Banking oder Patientenakten) gedacht, da er auf dem Gerät des Nutzers gespeichert wird, bietet aber für Portfolios, Kundenbereiche oder interne Agentur-Infos eine sehr gute Balance zwischen Sicherheit und Benutzerfreundlichkeit.
Alles ganz ausführlich und mit PHP-Code, sowie Plugin-Empfehlung gibt es hier:
Der WP-Passwortschutz ganz ausführlich!

