El error 403 prohibido es un código de estado de respuesta HTTP, que indica que el cliente identificado no tiene la autorización adecuada para acceder al contenido solicitado. Al igual que con la mayoría de los códigos de respuesta HTTP, particularmente aquellos que indican un error, la aparición de un error prohibido 403 puede ser un desafío para diagnosticar y resolver correctamente. Con un grupo de más de 50 códigos de estado potenciales que representan la compleja relación entre el cliente, una aplicación web, un servidor web y, a menudo, varios servicios web de terceros, determinar la causa de un código de estado en particular puede ser un desafío en los mejores de las circunstancias.
En este artículo, examinaremos el error prohibido 403 con más detalle al ver qué podría causar un mensaje, junto con algunos consejos para diagnosticar y depurar su propia aplicación para encontrar una solución. Incluso examinaremos algunos de los sistemas de administración de contenido (CMS) más populares en busca de áreas potencialmente problemáticas que podrían hacer que su propio sitio web genere un error prohibido 403 de forma inesperada. ¡Vamos a sumergirnos!
¿Servidor o cliente?
Todos los códigos de estado de respuesta HTTP que se encuentran en la categoría 4xx se consideran respuestas de error del cliente. Estos tipos de mensajes contrastan con los errores de la categoría 5xx, como el error 502 Bad Gateway Error que analizamos la semana pasada, que se consideran respuestas de error del servidor. Dicho esto, la aparición de un error 4xx no significa necesariamente que el problema tenga que ver con el cliente, donde el cliente es el navegador web o el dispositivo que se utiliza para acceder a la aplicación. A menudo, si está intentando diagnosticar un problema con su propia aplicación, puede ignorar inmediatamente la mayoría de los componentes y códigos del lado del cliente, como HTML, hojas de estilo en cascada (CSS), JavaScript del lado del cliente, etc. Esto tampoco se aplica únicamente a los sitios web. Muchas aplicaciones de teléfonos inteligentes que tienen una interfaz de usuario de aspecto moderno en realidad funcionan con una aplicación web normal detrás de escena; uno que simplemente está oculto al usuario.
Por otro lado, esto tampoco descarta que el cliente sea la causa real de un error prohibido 403. Es posible que el cliente esté intentando acceder a una URL no válida, que el navegador no envíe las credenciales adecuadas al sitio, etc. Exploraremos algunos de estos escenarios (y posibles soluciones) a continuación, pero tenga en cuenta que, aunque el error 403 prohibido se considera una respuesta de error del cliente, no significa de manera inherente que podamos descartar al cliente ni al servidor. como el culpable en este escenario. En estos escenarios, el servidor sigue siendo el objeto de red que está produciendo el error prohibido 403 y lo devuelve como el código de respuesta HTTP al cliente, pero podría ser que el cliente esté causando el problema de alguna manera.

Comience con una completa copia de seguridad de la aplicación
Como con todo, es mejor haber ido a lo seguro al principio que estropear algo y arrepentirse más adelante. Como tal, es fundamental que realice una copia de seguridad completa de su aplicación, base de datos, etc., antes de intentar cualquier corrección o cambio en el sistema. Aún mejor, si tiene la capacidad, cree una copia completa de la aplicación en un servidor de ensayo secundario que no esté "en vivo" o que no esté activo ni disponible para el público. Esto le dará un campo de pruebas limpio con el que probar todas las posibles soluciones para resolver el problema, sin amenazar la seguridad o santidad de su aplicación en vivo.
Diagnóstico de un error prohibido 403
Como se mencionó anteriormente, un Error 403 Prohibido indica que el servidor informa al cliente (el navegador web, en la mayoría de los casos) que no tiene la autorización adecuada para acceder al contenido solicitado. Un error prohibido 403 generalmente puede ocurrir en uno de dos escenarios:
• El cliente envió sus credenciales de autenticación al servidor, el servidor reconoció que el cliente está autenticado de manera válida y, sin embargo, el servidor rechazó que el cliente autorizado acceda al contenido solicitado por alguna razón.
• El contenido solicitado está estrictamente prohibido para todos los clientes, independientemente de la autorización. Esto puede ocurrir al intentar acceder a una URL no válida o prohibida que ha sido restringida explícitamente por el software del servidor web. Por ejemplo, los servidores Apache generalmente devuelven un error prohibido 403 cuando un cliente intenta acceder a una URL que corresponde a un directorio del sistema de archivos, ya que proporcionar acceso directo a los archivos suele ser una falla de seguridad.
Solución de problemas en el lado del cliente
Dado que el error 403 prohibido es un código de respuesta de error del cliente, es mejor comenzar por solucionar cualquier problema potencial del lado del cliente que pueda estar causando este error. Aquí hay algunos consejos para probar en el navegador o dispositivo que le está dando problemas.
Verifique la URL solicitada
La causa más común de un error prohibido 403 es simplemente ingresar una URL incorrecta. Como se mencionó anteriormente, muchos servidores web están estrictamente protegidos para no permitir el acceso a URL incorrectas a las que el servidor no está preparado para brindar acceso. Esto podría ser cualquier cosa, desde intentar acceder a un directorio de archivos a través de una URL hasta intentar acceder a una página privada destinada a otros usuarios. Por lo tanto, es una buena idea volver a verificar la URL exacta que devuelve el error 403 Forbidden Error para asegurarse de que sea el recurso exacto que desea solicitar.
Cookies relevantes claras
Como ya sabrá, las cookies HTTP son pequeños fragmentos de datos almacenados en su dispositivo local, que los sitios web y aplicaciones utilizan como un mecanismo para "recordar" información sobre este navegador y / o dispositivo en particular. La mayoría de las aplicaciones web modernas aprovechan las cookies para almacenar el estado de autenticación del usuario, que se puede utilizar para informar fácilmente a la aplicación web qué usuario está activo actualmente y qué tipo de autorización debe otorgarse al cliente actual (navegador).
Por lo tanto, cuando ocurre un error prohibido 403, que a menudo indica que el cliente no ha sido autenticado para realizar la solicitud en particular, la primera consideración debe ser un problema con cookies no válidas o corruptas, lo que provoca una autenticación incorrecta para el servidor. En la mayoría de los casos, solo debe preocuparse por las cookies que son relevantes para el sitio web o la aplicación que causa el problema. Las cookies se almacenan según el dominio donde se encuentra la aplicación, por lo que puede eliminar explícitamente solo las cookies que coinciden con el dominio del sitio web (por ejemplo, airbrake.io) para mantener la mayoría de las demás cookies intactas. Sin embargo, si no tiene experiencia en la eliminación manual de determinadas cookies, es mucho más fácil y seguro borrar todas las cookies a la vez.
La eliminación de cookies se puede lograr de diferentes maneras, según el navegador que esté utilizando:

• Google Chrome
• Explorador de Internet
• Microsoft Edge
• Mozilla Firefox
• Safari
Limpiar la caché
Al igual que las cookies, también es posible que la caché del navegador local esté provocando la aparición del error 403 prohibido. La caché es solo una colección de almacenamiento dedicada a retener copias locales de contenido web en su dispositivo para su uso posterior. La memoria caché de un navegador puede incluir casi cualquier tipo de datos, pero normalmente se utiliza para almacenar instantáneas comprimidas de las páginas web que visita con frecuencia, incluidas imágenes y otros datos binarios a los que accede con frecuencia su navegador. Con una copia local de estos recursos en su dispositivo, su navegador no necesita gastar tiempo o ancho de banda para descargar explícitamente estos datos idénticos cada vez que regresa a la misma página. Por ejemplo, cada vez que abre Facebook, una gran parte de la página que está viendo ya se cargó durante una visita anterior, y ese contenido se almacenó en caché y en su dispositivo local.
Dado que el caché de su navegador almacena copias locales de contenido y recursos web, es posible que un cambio en la versión en vivo de su aplicación entre en conflicto con la versión en caché que ya está en su dispositivo, lo que a veces puede producir un error prohibido 403 como resultado. Intente borrar la memoria caché de su navegador para ver si eso soluciona el problema.
Al igual que con las cookies, borrar la memoria caché depende del navegador, por lo que aquí hay algunos enlaces a esa documentación relevante para los navegadores más populares:
• Google Chrome
• Explorador de Internet
• Microsoft Edge
• Mozilla Firefox
• Safari
Cerrar sesión e iniciar sesión
Si la aplicación que está utilizando tiene alguna forma de autenticación de usuario, el último paso del lado del cliente que debe intentar es cerrar la sesión y luego volver a iniciarla. Si ha borrado las cookies del navegador recientemente, esto generalmente debería cerrar la sesión automáticamente. La próxima vez que intente cargar la página, no dude en intentar volver a iniciar sesión en este punto para ver si las cosas están funcionando una vez más. En algunas situaciones, la aplicación puede tener un problema con su sesión anterior, que es solo una cadena que el servidor envía al cliente para identificar a ese cliente durante solicitudes futuras. Al igual que con otros datos, el token de sesión (o cadena de sesión) se almacena localmente en su dispositivo en las cookies y el cliente lo transfiere al servidor durante cada solicitud. Si el servidor no reconoce el token de sesión que envía el cliente, o si algo salió mal con el servidor que indica que ese token en particular no es válido, es posible que vea un error prohibido 403 como resultado.
Para la mayoría de las aplicaciones web, cerrar la sesión y volver a iniciarla obligará a que se vuelva a crear el token de sesión local.
Depurar plataformas comunes
Si está ejecutando paquetes de software comunes en el servidor que responde con el error 403 prohibido, es posible que desee comenzar por analizar la estabilidad y la funcionalidad de esas plataformas primero. Los sistemas de gestión de contenido más comunes, como WordPress, Joomla! Y Drupal, suelen estar bien probados desde el primer momento, pero una vez que comienzas a realizar modificaciones en las extensiones subyacentes o el código PHP (el lenguaje en el que casi toda la gestión de contenido moderna sistemas están escritos en), es muy fácil causar un problema imprevisto que resulte en un error prohibido 403.
A continuación, se ofrecen algunos consejos que le ayudarán a solucionar algunos de estas plataformas de software populares:
Revertir actualizaciones recientes
Si recientemente actualizó el sistema de administración de contenido justo antes de que apareciera el Error 403 Forbidden, es posible que desee considerar volver a la versión anterior que había instalado cuando todo funcionaba bien. De manera similar, cualquier extensión o módulo que pueda haber actualizado recientemente también puede causar problemas en el lado del servidor, por lo que volver a versiones anteriores de esos también puede ayudar. Para obtener ayuda con esta tarea, simplemente Google "degradar [PLATFORM_NAME]" y seguir adelante. En algunos casos, sin embargo, ciertos CMS no proporcionan realmente una capacidad de degradación de la versión, lo que indica que consideran que la aplicación base, junto con cada nueva versión lanzada, es extremadamente estable y sin errores. Este suele ser el caso de las plataformas más populares, así que no tema si no puede encontrar una manera fácil de revertir la plataforma a una versión anterior.
Desinstalar nuevas extensiones, módulos o complementos
Dependiendo del sistema de administración de contenido particular que esté usando su aplicación, el nombre exacto de estos componentes será diferente, pero tienen el mismo propósito en todos los sistemas: mejorar las capacidades y características de la plataforma más allá de lo que normalmente es capaz de hacer de inmediato. . Pero tenga cuidado: estas extensiones pueden, más o menos, tomar el control total del sistema y realizar prácticamente cualquier cambio, ya sea en el código PHP, HTML, CSS, JavaScript o la base de datos. Como tal, puede ser conveniente desinstalar cualquier extensión nueva que se haya agregado recientemente. Nuevamente, busque en Google el nombre de la extensión para la documentación oficial y la asistencia con este proceso.

Compruebe si hay cambios inesperados en la base de datos
Vale la pena señalar que, incluso si desinstala una extensión a través del panel de CMS, esto no garantiza que los cambios realizados por la extensión se hayan revertido por completo. Esto es particularmente cierto para muchas extensiones de WordPress, a las que se les da carta blanca dentro de la aplicación, incluidos los derechos de acceso total a la base de datos. A menos que el autor de la extensión codifique explícitamente tales cosas, hay escenarios en los que una extensión puede modificar los registros de la base de datos que no "pertenecen" a la extensión en sí, sino que son creados y administrados por otras extensiones (o incluso el propio CMS base). En esos escenarios, es posible que la extensión no sepa cómo revertir las alteraciones en los registros de la base de datos, por lo que ignorará tales cosas durante la desinstalación. Diagnosticar tales problemas puede ser complicado, pero personalmente me he encontrado con tales escenarios varias veces, por lo que su mejor curso de acción, asumiendo que está razonablemente convencido de que una extensión es el culpable probable del Error 403 Forbidden, es abrir la base de datos y manualmente revise tablas y registros que probablemente fueron modificados por la extensión.
Confirme los permisos de archivo adecuados
Si la aplicación funcionaba bien antes y de repente ocurre este error, los permisos no son un culpable muy probable. Sin embargo, si se realizaron modificaciones recientemente (como actualizaciones o instalaciones), es posible que los permisos de los archivos hayan cambiado o sean incorrectos, lo que podría causar que un problema se propague por toda la aplicación y, finalmente, conduzca a un error prohibido 403. La gran mayoría de los servidores utilizan sistemas operativos basados en Unix, así que eche un vistazo aquí, o en cualquier otro lugar de la web, para obtener más información sobre cómo configurar los permisos adecuados para los archivos y directorios de la aplicación para mantener las cosas seguras, al tiempo que permite el acceso de su aplicación donde está necesario.
Sobre todo, Google es tu amigo. No tema buscar términos específicos relacionados con su problema, como el nombre del CMS de su aplicación, junto con el error 403 prohibido. Lo más probable es que encuentre a alguien (o, tal vez, muchas personas) que haya experimentado este problema y que potencialmente se le haya proporcionado una solución.
Solución de problemas en el lado del servidor
Si no está ejecutando una aplicación CMS, o incluso si lo está, pero está seguro de que el error 403 prohibido no está relacionado con eso, aquí hay algunos consejos adicionales para ayudarlo a solucionar qué podría estar causando el problema en el servidor. -la parte de las cosas.
Compruebe la configuración de su servidor web
La mayoría de los servidores web modernos proporcionan uno o más archivos de configuración que le permiten ajustar fácilmente el comportamiento del servidor, en función de una amplia gama de circunstancias. Por ejemplo, el servidor puede estar configurado para rechazar solicitudes a ciertos directorios o URL, lo que podría resultar en un error prohibido 403.
Las opciones de configuración para cada tipo diferente de servidor web pueden variar drásticamente, por lo que solo enumeraremos algunas populares para brindarle algunos recursos para revisar, según el tipo de servidor en el que se ejecuta su aplicación: