403 Forbidden - Non hai i permessi per accedere a /wp-admin/admin-ajax.php su questo server

15 ago 2019, 13:59:22
Visualizzazioni: 19.5K
Voti: 2

Quando cerco di fare un backup del mio sito WordPress tramite plugin, ricevo il seguente errore:

"403 Forbidden - Non hai i permessi per accedere a /wp-admin/admin-ajax.php su questo server."

Questo errore appare a volte anche durante l'installazione dei plugin.

Il mio file htaccess:

# Begin Wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Struttura del Server:

-/
  -/wordpress
  -/oldfiles
  -/other

Dentro /wordpress si trova tutto il mio sito WordPress:

-/wordpress
 -/wp-admin
 -/wp-content
 -/.htaccess

ecc ecc.....

Cose che ho provato:

- Usato diversi plugin per il backup (1 Updraft, 2 Duplicator) entrambi mostrano lo stesso errore.

- Cambiato i permessi dei file dal client FTP.

Impostato permessi 755 alle directory wp-admin, wp-includes, wp-content

Impostato 644 a tutti i file dentro le directory e 755 a tutte le sottocartelle.

- Ho anche cambiato i permessi della cartella /wp-admin a 755 e admin-ajax.php a 777 ma ricevo ancora lo stesso errore

- Modificato il file .htaccess come segue:

# BEGIN WordPress
<Files admin-ajax.php>
Order Deny,Allow
Deny from all
Allow from all
</Files>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

- Disabilitato tutti i plugin e abilitato solo quelli per il backup, stesso errore.

- Eliminato il file .htaccess

- Creato un reindirizzamento temporaneo 301 nel file .htaccess per essere sicuro di lavorare sul file corretto

- Disabilitato il plugin "Wordfence security"

4
Commenti

Anche se la tua installazione di WordPress sembra essere nella sottocartella /wordpress, il file .htaccess di WordPress sembra caricare /index.php nella root del documento? Il messaggio di errore che hai indicato fa riferimento anche a /wp-admin/.... nella root del documento?

MrWhite MrWhite
15 ago 2019 14:28:31

C'è un reindirizzamento predefinito impostato per andare alla sottocartella /wordpress. Il file .htaccess si trova all'interno della sottocartella /wordpress. Inoltre, ho anche impostato i permessi a 755 sulla cartella /wp-admin all'interno della sottocartella e 644 sul file admin-ajax.php ma non è cambiato nulla.

Moiz Nadeem Moiz Nadeem
15 ago 2019 14:56:45

Cosa succede quando richiedi /wp-admin/admin-ajax.php (o /wordpress/wp-admin/admin-ajax.php) direttamente? E riguardo al "gruppo" del file? Controllerei se ci sono moduli di sicurezza di Apache che potrebbero interferire: mod_security, mod_evasive, ecc.?

MrWhite MrWhite
16 ago 2019 23:48:29

Nota a margine: "un reindirizzamento predefinito" - presumo che con questo tu intenda che c'è una riscrittura interna in un file .htaccess genitore che riscrive la richiesta direttamente su /wordpress/index.php? Potrebbe essere così, ma questo non rende corretto il file /wordpress/.htaccess - sembrerebbe esserci una riscrittura aggiuntiva / non necessaria in atto oppure il front-controller in /wordpress/.htaccess viene bypassato? (Sarebbe necessario vedere il file .htaccess genitore per sapere con certezza come vengono instradati i tuoi URL di WP.) Sebbene è improbabile che questo abbia a che fare con il tuo problema di "permessi".

MrWhite MrWhite
16 ago 2019 23:56:16
Tutte le risposte alla domanda 1
0

Sembra che sia probabilmente causato dal plugin mod-evasive (o simile) in Apache (o equivalente), che blocca richieste multiple consecutive poiché pensa che tu stia tentando di eseguire un attacco di denial of service (DOS) contro il server. Prova a disabilitare eventuali plugin di sicurezza (quelli di Apache/web server, non di WordPr

9 dic 2019 15:23:43