403 Forbidden - Nu ai permisiunea de a accesa /wp-admin/admin-ajax.php pe acest server

15 aug. 2019, 13:59:22
Vizualizări: 19.5K
Voturi: 2

Când încerc să fac o copie de rezervă a site-ului meu WordPress prin intermediul unui plugin, primesc următoarea eroare:

"403 Forbidden - Nu ai permisiunea de a accesa /wp-admin/admin-ajax.php pe acest server."

Această eroare apare uneori și în timpul instalării plugin-urilor.

Fișierul meu htaccess:

# Început 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>

# Sfârșit WordPress

Structura Serverului:

-/
  -/wordpress
  -/oldfiles
  -/other

în interiorul /wordpress se află întregul site WordPress:

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

etc etc.....

Lucruri pe care le-am încercat:

- Am folosit plugin-uri diferite pentru backup (1 Updraft, 2 Duplicator) - ambele afișează aceeași eroare.

- Am schimbat permisiunile fișierelor din clientul FTP.

Am setat permisiunea 755 pentru directoarele wp-admin, wp-includes, wp-content

Am setat 644 pentru toate fișierele din directoare și 755 pentru toate subfolderele.

- Am schimbat chiar și permisiunea folderului /wp-admin la 755 și admin-ajax.php la 777, dar tot primesc aceeași eroare

- Am modificat fișierul .htaccess după cum urmează:

# ÎNCEPUT 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>

# SFÂRȘIT WordPress

- Am dezactivat toate plugin-urile și am activat doar cele pentru backup - aceeași eroare.

- Am șters fișierul .htaccess

- Am făcut o redirecționare temporară 301 în fișierul .htaccess pentru a mă asigura că lucrez cu fișierul corect

- Am dezactivat plugin-ul "Wordfence security"

4
Comentarii

În timp ce instalarea WordPress pare să fie în subdirectorul /wordpress, fișierul WordPress .htaccess pare să încarce /index.php în rădăcina documentului? Mesajul de eroare pe care l-ai menționat face, de asemenea, referire la /wp-admin/.... în rădăcina documentului?

MrWhite MrWhite
15 aug. 2019 14:28:31

Există o redirecționare implicită setată să meargă către subdirectorul /wordpress. Fișierul .htaccess se află în subdirectorul /wordpress. În plus, am setat și permisiuni de 755 pentru /wp-admin în interiorul subdirectorului și 644 pentru admin-ajax.php, dar tot nu s-a întâmplat nimic.

Moiz Nadeem Moiz Nadeem
15 aug. 2019 14:56:45

Ce se întâmplă când accesezi direct /wp-admin/admin-ajax.php (sau /wordpress/wp-admin/admin-ajax.php)? Dar despre "grupul" fișierului? Aș verifica dacă există module de securitate Apache care ar putea interfera: mod_security, mod_evasive, etc.?

MrWhite MrWhite
16 aug. 2019 23:48:29

Notă laterală: "o redirecționare implicită" - presupun că prin asta te referi la faptul că există o rescriere internă în fișierul .htaccess părinte care rescrie cererea direct către /wordpress/index.php? Este posibil, dar asta nu face fișierul /wordpress/.htaccess corect - fie pare să existe o rescriere suplimentară / inutilă aici, fie front-controller-ul din /wordpress/.htaccess este ocolit? (Ar fi nevoie să vedem fișierul părinte .htaccess pentru a ști exact cum sunt direcționate URL-urile tale WP.) Deși este puțin probabil ca aceasta să aibă legătură cu problema ta de "permisiuni".

MrWhite MrWhite
16 aug. 2019 23:56:16
Toate răspunsurile la întrebare 1
0

Aceasta pare să fie cauzată de modulul mod-evasive (sau unul similar) din Apache (sau alt server web), care blochează mai multe solicitări consecutive, deoarece consideră că încerci să rulezi un atac de tip denial of service (DOS) împotriva serverului. Încearcă să dezactivezi orice plugin-uri de securitate (cele ale serverului web Apache, nu cele WordPress).

9 dec. 2019 15:23:43