Un 403 da admin-ajax.php può dipendere da autorizzazioni, nonce o WAF: identifica il componente che rifiuta la richiesta.

Possibili cause
- Nonce non valido o utente privo della capability richiesta
- Regola ModSecurity, WAF o plugin di sicurezza blocca admin-ajax.php
- Callback privata invocata senza sessione autenticata
- Proxy o cache rimuove cookie e header necessari
Cosa controllare
- Confronta risposta 403, action, nonce e ruolo dell’utente
- Cerca l’evento corrispondente nel log WAF o ModSecurity
- Verifica se la callback usa wp_ajax_ oppure wp_ajax_nopriv_
- Controlla che cookie e header arrivino a WordPress
- Ripeti una richiesta minima senza cambiare più protezioni
Come intervenire
- Rigenera il nonce e assegna solo la capability necessaria
- Limita l’eccezione WAF alla regola e all’action confermate
- Registra la callback per il contesto autenticato corretto
- Escludi admin-ajax.php dalla cache di pagina
- Correggi il plugin che invia una richiesta non autorizzata

Guide Xlogic correlate
- WordPress: admin-ajax.php restituisce 400
- WordPress: autosave non crea revisioni
- WordPress: Heartbeat API genera carico elevato
Fonti tecniche
Domande frequenti
Da dove partire?
Un 403 da admin-ajax.php può dipendere da autorizzazioni, nonce o WAF: identifica il componente che rifiuta la richiesta.
Quali controlli fare?
Confronta risposta 403, action, nonce e ruolo dell’utente Cerca l’evento corrispondente nel log WAF o ModSecurity
Come intervenire?
Rigenera il nonce e assegna solo la capability necessaria Limita l’eccezione WAF alla regola e all’action confermate