Skip to main content

Du kennst das sicher: Du willst in WordPress ein Formular absenden, ein Plugin bedienen oder einen Beitrag speichern – und plötzlich springt dir die kryptische Fehlermeldung „Nonce verification failed“ entgegen. Herzlichen Glückwunsch, du bist in die Welt der WordPress Nonces eingetaucht! Klingt erstmal nach Science-Fiction, ist aber ein elementarer Bestandteil der WordPress-Sicherheit. In diesem Artikel nehmen wir dich mit auf eine Reise durch die Untiefen der Nonce-Logik, zeigen dir, wie du den Fehler behebst, und wie du Nonces richtig und sicher einsetzt. Und keine Sorge: Wir machen das Ganze so verständlich und unterhaltsam wie möglich – versprochen!

WordPress „Nonce verification failed“ beheben – Sicherheits-Nonces korrekt einsetzen

Nonces sind in WordPress keine Zahlen, sondern kleine, einmalige Tokens, die deine Website vor bösen Buben und versehentlichen Aktionen schützen. Sie sind das digitale Äquivalent zu diesen Einmal-PINs beim Online-Banking – nur eben für Formulare, Links und AJAX-Requests. Aber warum braucht WordPress das überhaupt? Und warum ist die Fehlermeldung „Nonce verification failed“ so wichtig?

Fakt ist: Laut Statista läuft über 43% aller Websites weltweit mit WordPress. Das macht das System zum beliebten Ziel für Angreifer. Nonces sind ein cleverer Mechanismus, um CSRF-Angriffe (Cross-Site Request Forgery) zu verhindern – also das Ausführen von Aktionen, die du gar nicht selbst ausgelöst hast. Ohne Nonces könnten Angreifer beispielsweise über manipulierte Links oder Formulare deine Website übernehmen oder Daten verändern. WordPress selbst empfiehlt daher dringend, Nonces überall dort einzusetzen, wo Daten verändert oder sensible Aktionen ausgelöst werden.

  • Was ist ein Nonce?

    Ein Nonce (Number used once) ist ein einmalig generierter, zeitlich begrenzter Token, der an ein Formular, einen Link oder einen AJAX-Request angehängt wird. Er stellt sicher, dass die Aktion wirklich von einem berechtigten Nutzer und nicht von einem Angreifer ausgelöst wurde. In WordPress sind Nonces keine echten Zufallszahlen, sondern kryptografisch generierte Strings, die an die aktuelle Session und den User gebunden sind.
  • Wie funktioniert die Nonce-Prüfung?

    Beim Absenden eines Formulars oder Klick auf einen Link wird der Nonce-Token mitgesendet. WordPress prüft dann im Hintergrund, ob der Token gültig ist, noch nicht abgelaufen ist und zum aktuellen Nutzer passt. Ist das nicht der Fall, erscheint die berühmte Fehlermeldung „Nonce verification failed“ – und die Aktion wird abgebrochen.
  • Warum ist das wichtig?

    Ohne Nonces könnten Angreifer automatisiert Formulare ausfüllen, Beiträge löschen oder Einstellungen ändern – und das alles, ohne dass du es merkst. Nonces sind also ein elementarer Baustein für die Sicherheit deiner WordPress-Website.
Siehe auch  Die besten Webdesign-Agenturen in Wiesbaden: Expertise, Preise & Support

Doch wie kommt es überhaupt zu der Fehlermeldung „Nonce verification failed“? Und wie kannst du sie beheben? Lass uns tiefer eintauchen!

Typische Ursachen für „Nonce verification failed“

  • Abgelaufener Nonce

    Nonces sind in WordPress standardmäßig nur 12 Stunden gültig (Quelle). Wenn du ein Formular zu lange offen lässt oder ein Link zu alt ist, ist der Nonce abgelaufen – und die Prüfung schlägt fehl.
  • Falsche Einbindung im Code

    Wird der Nonce nicht korrekt generiert, übergeben oder geprüft, kann WordPress ihn nicht validieren. Typische Fehler: Der Nonce fehlt im Formular, wird nicht mitgesendet oder falsch benannt.
  • Cache-Probleme

    Caching-Plugins oder Proxy-Server können Nonces „einfrieren“. Das heißt: Ein alter Nonce wird ausgeliefert, obwohl er schon abgelaufen ist. Besonders bei stark gecachten Seiten ein häufiger Stolperstein.
  • AJAX-Requests ohne Nonce

    AJAX-Requests müssen ebenfalls mit einem gültigen Nonce abgesichert werden. Fehlt dieser, schlägt die Prüfung fehl – und die Aktion wird nicht ausgeführt.
  • Benutzerrollen und Berechtigungen

    Nonces sind oft an bestimmte Nutzerrollen gebunden. Versucht ein nicht berechtigter Nutzer eine Aktion, schlägt die Prüfung fehl – auch wenn der Nonce eigentlich gültig wäre.

So behebst du „Nonce verification failed“

Jetzt wird’s praktisch! Hier findest du eine Schritt-für-Schritt-Anleitung, wie du den Fehler findest und behebst – und wie du Nonces richtig einsetzt.

  • 1. Nonce korrekt generieren

    Verwende die WordPress-Funktion wp_nonce_field() für Formulare oder wp_create_nonce() für Links und AJAX. Beispiel für ein Formular:

    <form method="post">
      <?php wp_nonce_field('mein_formular_action', 'mein_formular_nonce'); ?>
      <input type="text" name="mein_feld" />
      <input type="submit" value="Absenden" />
    </form>
    

    Das erzeugt ein verstecktes Feld mit dem Nonce-Token. Wichtig: Der erste Parameter ist die Action, der zweite der Name des Feldes.

  • 2. Nonce beim Absenden prüfen

    Im PHP-Code prüfst du den Nonce mit check_admin_referer() (für Admin-Seiten) oder check_ajax_referer() (für AJAX). Beispiel:

    if (isset($_POST['mein_formular_nonce']) && 
        wp_verify_nonce($_POST['mein_formular_nonce'], 'mein_formular_action')) {
      // Aktion ausführen
    } else {
      // Fehler: Nonce verification failed
    }

    Wichtig: Die Action muss mit der beim Generieren übereinstimmen!

  • 3. Nonce bei AJAX-Requests

    Übergebe den Nonce als Datenfeld im AJAX-Request und prüfe ihn im PHP-Handler:

    // JavaScript
    jQuery.post(ajaxurl, {
      action: 'meine_aktion',
      security: mein_ajax_nonce,
      data: ...
    });
    
    // PHP
    add_action('wp_ajax_meine_aktion', 'meine_aktion_callback');
    function meine_aktion_callback() {
      check_ajax_referer('meine_aktion', 'security');
      // Weiterer Code
    }

    So verhinderst du, dass unberechtigte Requests ausgeführt werden.

  • 4. Caching-Probleme vermeiden

    Stelle sicher, dass Seiten mit Nonces nicht gecacht werden. Viele Caching-Plugins bieten Ausnahmen für bestimmte Seiten oder Parameter. Alternativ kannst du Nonces per AJAX nachladen, damit sie immer aktuell sind.
  • 5. Nonce-Lebensdauer anpassen

    In seltenen Fällen kann es sinnvoll sein, die Lebensdauer von Nonces zu verlängern oder zu verkürzen. Das geht mit dem Filter nonce_life:

    add_filter('nonce_life', function($lifetime) {
      return 24 * HOUR_IN_SECONDS; // 24 Stunden
    });

    Aber Vorsicht: Je länger ein Nonce gültig ist, desto größer das Risiko für Angriffe!

  • 6. Fehlerquellen systematisch prüfen

    Prüfe, ob der Nonce im Formular/Link korrekt generiert und übergeben wird, ob der Name stimmt, und ob die Action übereinstimmt. Nutze var_dump() oder error_log() zur Fehlersuche.
Siehe auch  Was eine moderne Firmenwebsite leisten muss

Best Practices für den sicheren Einsatz von Nonces

  • Immer Nonces verwenden, wenn Daten verändert werden

    Egal ob Formular, Link oder AJAX: Sobald Daten gespeichert, gelöscht oder geändert werden, gehört ein Nonce dazu.
  • Nonces nicht als Authentifizierung missbrauchen

    Nonces sind kein Ersatz für echte Berechtigungsprüfungen! Sie verhindern nur CSRF, aber nicht, dass ein unberechtigter Nutzer eine Aktion ausführt.
  • Nonces nicht im Cache speichern

    Nonces sind nur für eine Session gültig. Werden sie gecacht, sind sie schnell ungültig und führen zu Fehlern.
  • Nonces regelmäßig erneuern

    Bei langen Formularen oder Single-Page-Apps solltest du Nonces regelmäßig per AJAX aktualisieren, um Ablaufprobleme zu vermeiden.
  • Fehlermeldungen benutzerfreundlich gestalten

    Statt „Nonce verification failed“ kannst du dem Nutzer eine verständliche Meldung anzeigen, z.B. „Deine Sitzung ist abgelaufen, bitte lade die Seite neu.“

Nonce-Handling im Überblick

Funktion Einsatzgebiet Beispiel
wp_nonce_field() Formulare <?php wp_nonce_field('aktion', 'nonce_name'); ?>
wp_create_nonce() Links, AJAX $nonce = wp_create_nonce('aktion');
check_admin_referer() Admin-Formulare check_admin_referer('aktion', 'nonce_name');
check_ajax_referer() AJAX-Requests check_ajax_referer('aktion', 'security');
wp_verify_nonce() Allgemeine Prüfung wp_verify_nonce($_POST['nonce'], 'aktion');

Fazit: Nonces sind Pflicht, kein Luxus!

WordPress-Nonces sind ein unsichtbarer, aber mächtiger Schutzschild für deine Website. Sie verhindern, dass Angreifer unberechtigt Aktionen ausführen – und schützen dich vor Datenverlust, Manipulation und bösen Überraschungen. Die Fehlermeldung „Nonce verification failed“ ist also kein Bug, sondern ein Feature! Sie zeigt dir, dass WordPress aufpasst. Mit den Tipps aus diesem Artikel kannst du Nonces sicher und korrekt einsetzen – und bist bestens gewappnet für die Herausforderungen des WordPress-Alltags.

Falls du keine Lust hast, dich mit Nonces, PHP und Caching herumzuschlagen, oder einfach eine professionelle, sichere und moderne Website möchtest: Nakaryu ist für dich da! Wir bauen Websites, die nicht nur schön aussehen, sondern auch technisch auf dem neuesten Stand sind – inklusive Sicherheit, Performance und Support. Schau dir unsere Webdesign-Flatrate an und lass uns gemeinsam dein digitales Zuhause bauen!

Siehe auch  Bildgrößen (Thumbnails) in WordPress: Richtige Größen & Regeneration

Quellen

Fragen zum Thema

Was bedeutet die Fehlermeldung „Nonce verification failed“ in WordPress?

Die Meldung „Nonce verification failed“ erscheint, wenn die Nonce-Prüfung in WordPress fehlschlägt. Das bedeutet, dass der übermittelte Nonce-Token entweder fehlt, abgelaufen oder ungültig ist. Nonces sind einmalige Sicherheits-Tokens, die WordPress vor CSRF-Angriffen schützen. Wird ein Formular, Link oder AJAX-Request ohne gültigen Nonce abgeschickt, blockiert WordPress die Aktion aus Sicherheitsgründen.

Was ist ein Nonce und warum ist er für die Sicherheit wichtig?

Ein Nonce (Number used once) ist ein einmalig generierter, zeitlich begrenzter Token, der an Formulare, Links oder AJAX-Requests angehängt wird. Er stellt sicher, dass Aktionen wirklich von einem berechtigten Nutzer ausgelöst werden. Ohne Nonces könnten Angreifer automatisiert Formulare ausfüllen oder Einstellungen ändern. Nonces sind daher ein zentraler Baustein für die Sicherheit jeder WordPress-Website.

Was sind die häufigsten Ursachen für „Nonce verification failed“?

Die häufigsten Ursachen sind:

  • Abgelaufener Nonce: Nonces sind standardmäßig nur 12 Stunden gültig.
  • Falsche Einbindung im Code: Der Nonce wird nicht korrekt generiert, übergeben oder geprüft.
  • Cache-Probleme: Caching-Plugins liefern veraltete Nonces aus.
  • AJAX-Requests ohne Nonce: AJAX-Aufrufe ohne gültigen Nonce werden abgelehnt.
  • Benutzerrollen und Berechtigungen: Nicht berechtigte Nutzer versuchen eine Aktion auszuführen.

Wie kann ich den Fehler „Nonce verification failed“ beheben?

Um den Fehler zu beheben, solltest du:

  • Den Nonce korrekt generieren (z.B. mit wp_nonce_field() oder wp_create_nonce()).
  • Den Nonce beim Absenden prüfen (z.B. mit check_admin_referer() oder wp_verify_nonce()).
  • Bei AJAX-Requests den Nonce als Datenfeld übergeben und mit check_ajax_referer() prüfen.
  • Caching-Probleme vermeiden, indem du Seiten mit Nonces nicht cachst oder Nonces per AJAX nachlädst.
  • Die Nonce-Lebensdauer ggf. anpassen und Fehlerquellen systematisch prüfen.

Welche Best Practices gibt es für den sicheren Einsatz von Nonces in WordPress?

  • Immer Nonces verwenden, wenn Daten verändert werden (Formulare, Links, AJAX).
  • Nonces nicht als Authentifizierung missbrauchen – sie ersetzen keine Rechteprüfung.
  • Nonces nicht im Cache speichern, da sie nur für eine Session gültig sind.
  • Nonces regelmäßig erneuern, besonders bei langen Formularen oder Single-Page-Apps.
  • Fehlermeldungen benutzerfreundlich gestalten, z.B. „Deine Sitzung ist abgelaufen, bitte lade die Seite neu.“

Neues aus unserem Blog

Das könnte dich auch interessieren

Max 7

Max Wellner

Max Wellner ist Gründer/ CEO von Nakaryu & Nekodanshi sowie Content Creator und Cosplayer aus Nürnberg. Er verbindet seit 2017 Webdesign, Marketing, Technologie und kreative Popkultur-Einflüsse zu digitalen Markenauftritten mit Wiedererkennungswert. Mit seiner Mischung aus technischer Expertise, kreativem Denken und eigener Erfahrung als Creator entwickelt er moderne Konzepte für Unternehmen, Marken und digitale Projekte, unterstützt durch eigens entwickelte KI Systeme und Workflows.

Jetzt kostenfreies Erstgespräch sichern

Lass dich unverbindlich beraten

→ Schreib an hey@nakaryu.de, chatte bei WhatsApp, oder ruf an +49 152 58119266. Wir beraten dich gerne.

Erstgespräch vereinbaren

15% Rabatt auf alle Pakete

→ Für Vereine, Creator & Künstler. Schreib uns einfach an.

Weiterempfehlen lohnt sich

100 € Gutschrift für jeden geworbenen Neukunden.

Privacy Preference Center