403 Prohibido - No tienes permiso para acceder a /wp-admin/admin-ajax.php en este servidor

15 ago 2019, 13:59:22
Vistas: 19.5K
Votos: 2

Cuando intento hacer una copia de seguridad de mi sitio WordPress a través de un plugin, recibo el siguiente error:

"403 Prohibido - No tienes permiso para acceder a /wp-admin/admin-ajax.php en este servidor."

Este error también aparece a veces durante la instalación de plugins.

Mi archivo htaccess:

# Inicio 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>

# FIN WordPress

Estructura del Servidor:

-/
  -/wordpress
  -/oldfiles
  -/other

Dentro de /wordpress existe todo mi sitio WordPress como:

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

etc etc.....

Cosas que he probado:

- Usé diferentes plugins para copia de seguridad (1 Updraft, 2 Duplicator) ambos muestran el mismo error.

- Cambié los permisos de archivos desde el cliente FTP.

Establecí permisos 755 para los directorios wp-admin, wp-includes, wp-content

Establecí 644 para todos los archivos dentro de los directorios y 755 para todas las subcarpetas.

- Incluso cambié los permisos de la carpeta /wp-admin a 755 y admin-ajax.php a 777 pero sigo obteniendo el mismo error

- Hice modificaciones en el archivo .htaccess como sigue:

# INICIO 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>

# FIN WordPress

- Desactivé todos los plugins y habilité solo los plugins de copia de seguridad, mismo error.

- Eliminé el archivo .htaccess

- Hice una redirección 301 temporal en el archivo .htaccess para asegurarme de que estaba trabajando en el archivo correcto

- Desactivé el plugin "Wordfence security"

4
Comentarios

Aunque tu instalación de WordPress parece estar en el subdirectorio /wordpress, el archivo .htaccess de WordPress parece cargar /index.php en la raíz del documento? El mensaje de error que mencionaste también hace referencia a /wp-admin/.... en la raíz del documento?

MrWhite MrWhite
15 ago 2019 14:28:31

Hay una redirección predeterminada configurada para ir al subdirectorio /wordpress. El archivo .htaccess está dentro del subdirectorio /wordpress. Además, también establecí permisos de 755 en /wp-admin dentro del subdirectorio y 644 en admin-ajax.php pero aún así no pasó nada.

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

¿Qué sucede cuando solicitas /wp-admin/admin-ajax.php (o /wordpress/wp-admin/admin-ajax.php) directamente? ¿Qué hay acerca del "group" del archivo? Verificaría si hay algún módulo de seguridad de Apache que pueda estar interfiriendo: mod_security, mod_evasive, etc.?

MrWhite MrWhite
16 ago 2019 23:48:29

Nota al margen: "una redirección predeterminada" - asumo que con eso te refieres a que hay un reescritura interna en un archivo .htaccess padre que reescribe la solicitud directamente a /wordpress/index.php? Puede que así sea, pero eso no hace que el archivo /wordpress/.htaccess sea correcto - parecería que hay una reescritura adicional / innecesaria ocurriendo aquí o el front-controller en /wordpress/.htaccess está siendo omitido? (Sería necesario ver el archivo .htaccess padre para saber con certeza cómo se están enrutando tus URLs de WP.) Aunque esto probablemente no tenga nada que ver con tu problema de "permisos".

MrWhite MrWhite
16 ago 2019 23:56:16
Todas las respuestas a la pregunta 1
0

Esto parece estar causado probablemente por el módulo mod-evasive (o similar) en Apache (o similar), que bloquea múltiples solicitudes consecutivas al pensar que estás intentando ejecutar un ataque de denegación de servicio (DOS) contra el servidor. Intenta desactivar cualquier plugin de seguridad (los de Apache/servidor web, no los de WordPress)

9 dic 2019 15:23:43