NuevoBlack Friday: 50 % de descuento en tu primer pago
Solución de problemas de WordPress

403 Prohibido en un sitio de WordPress

La solicitud fue entendida y rechazada. La negativa vino del servidor web, un firewall o una regla de permisos — WordPress rara vez está involucrado.

403 Forbidden — You don't have permission to access this resource.

Respuesta breve

Tenga en cuenta si todo el sitio 403 o sólo algunas URLs, y si sigue o sólo afecta a una red. Un sitio-largo 403 es casi siempre permisos de archivo o una regla de reescritura; uno que sigue a una persona es un bloque IP.

Diagnóstico

Las causas más probables primero.

Revisa la lista en orden. Cada comprobación permite confirmar o descartar una causa antes de hacer cambios: las soluciones son distintas y adivinar cuesta más que ejecutar un comando.

CausaCómo comprobarloSolución
Autorizaciones de archivo o directorios el servidor web no puede leerEl error es a nivel de sitio y constante. Los directorios deben ser intercambiables y los archivos legibles por el usuario del servidor web; cualquier cosa más restrictiva produce exactamente esto.Establecer directorios a 755 y archivos a 644, propiedad del usuario PHP funciona como. Un restaurado de una copia de seguridad tomada en un host diferente es la razón habitual que se derivan.
Un plugin de seguridad ha bloqueado su direcciónOtras personas pueden utilizar el sitio normalmente y una red diferente funciona para usted también. El registro del plugin registra el bloque con su dirección y una razón.Limpiar el bloque de la lista del plugin, luego elevar el umbral que lo provocó. Los registros repetidos fallidos son el desencadenante más común.
Una regla de reescritura o acceso niega el caminoSólo ciertas URLs fallan — wp-login.php, wp-admin, xmlrpc.php — mientras que el resto del sitio está bien.Encuentra la regla de denegación en la configuración del servidor o .htaccess. Los fragmentos de endurecimiento copiados de un tutorial son la fuente habitual, y a menudo restringen más de lo previsto.
El archivo índice está desaparecido o no incluidoUn directorio URL 403s donde funciona una URL de archivo en el mismo directorio. El servidor se niega a enumerar un directorio que no tiene nada que servir como predeterminado.Restaurar el archivo índice que falta, o confirmar los puntos raíz de documento donde usted piensa que lo hace. Una raíz maldirigida parece exactamente un problema de permisos.
Guía

Solución paso a paso.

Los comandos requieren WP-CLI y acceso a la consola. Si no los tienes, cada paso explica cómo hacer lo mismo desde el panel o por SFTP.

  1. Establecer la forma del fracaso

    Sitio o un camino; todos o sólo usted. Esas dos respuestas eliminan la mayoría de la lista antes de que se ejecute cualquier comando.

    curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/
    curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/wp-login.php
  2. Lea la explicación del servidor

    Un 403 está casi siempre conectado con una razón, y la razón nombra la capa que se negó.

    tail -n 50 /var/log/nginx/error.log
  3. Reiniciar la propiedad y los permisos

    Los directorios son transitables, los archivos legibles, ambos propiedad del usuario PHP. Ejecute desde la raíz del sitio.

    find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;
  4. Saque .htaccess fuera de la ecuación

    Renombrarlo en lugar de editarlo, por lo que puede ponerlo de nuevo sin cambios. WordPress reescribe una nueva a petición.

    mv .htaccess .htaccess.bak
    wp rewrite flush --hard
  5. Confirmación de una red diferente

    Si el sitio responde de otro lugar mientras todavía le niega, es un bloque de dirección y ninguna cantidad de permiso cambiará ayudará.

    curl -sS -o /dev/null -w '%{http_code}\n' --interface eth1 https://example.com/
En MagicWP

De esto se encarga la plataforma.

La propiedad de archivos se establece en el propio usuario del sitio al desplegar y mantener ese camino por la plataforma, por lo que la deriva de permiso que sigue una restauración manual no sucede aquí. El bloqueo se hace en el borde en lugar de por un plugin dentro de WordPress, lo que significa una dirección bloqueada nunca llega a PHP y, tan útilmente, un administrador que se bloquea puede ser devuelto sin acceso a la base de datos.

Preguntas frecuentes

Preguntas frecuentes.

¿Por qué todos los demás pueden usar el sitio mientras no puedo?
Debido a que la negativa está ligada a su dirección en lugar de al sitio. Un plugin de seguridad o firewall le agregó a una lista de bloques, generalmente después de repetidos accesos fallidos, y el bloque sigue su red en lugar de su cuenta.
¿Debería establecer permisos para 777 para probarlo?
No. Rara vez fija un verdadero 403 y hace que cada archivo sea complacido por cualquier cosa que se ejecuta en la máquina, que convierte una página rota en una explotable. 755 y 644 con la propiedad correcta es el objetivo.
El 403 sólo aparece en wp-admin. ¿Qué sugiere eso?
Una regla de acceso deliberada en lugar de una falla. Alguien restringió el camino de administración por dirección o agregó autenticación delante de él, y la restricción sobrevivió a quien lo agregó.
¿Cómo es un 403 diferente de un 401?
Un 401 pide credenciales y las aceptará. Un 403 ya ha decidido, y el envío de credenciales no cambia la respuesta.
Errores relacionados

Si el problema era otro.

Estos errores pueden parecerse en el navegador.