Código de estado HTTP que indica que el acceso a un recurso está prohibido
HTTP 403 es un código de estado HTTP que indica que el acceso al recurso solicitado está prohibido. El servidor entendió la solicitud, pero no la cumplirá si era correcta.
Presupuesto
HTTP 403 proporciona un caso de error distinto de HTTP 401; mientras que HTTP 401 se devuelve cuando el cliente no se ha autenticado e implica que se puede devolver una respuesta exitosa después de una autenticación válida, HTTP 403 se devuelve cuando al cliente no se le permite el acceso al recurso a pesar de proporcionar autenticación, como permisos insuficientes de la cuenta autenticada. [a]
Error 403: “El servidor entendió la solicitud, pero se niega a autorizarla”. (RFC 7231) [1]
Error 401: "La solicitud requiere autenticación de usuario. La respuesta DEBE incluir un campo de encabezado WWW-Authenticate (sección 14.47) que contenga un desafío aplicable al recurso solicitado. El cliente PUEDE repetir la solicitud con un campo de encabezado de Autorización adecuado (sección 14.8). Si la solicitud ya incluía credenciales de Autorización, la respuesta 401 indica que se ha rechazado la autorización para esas credenciales". (RFC 2616) [2]
El servidor web Apache devuelve 403 Forbidden en respuesta a solicitudes de rutas URL [3] que corresponden a directorios del sistema de archivos cuando se han deshabilitado los listados de directorios en el servidor y no hay una directiva Directory Index para especificar un archivo existente que se devolverá al navegador. Algunos administradores configuran la extensión de proxy Mod para Apache para bloquear dichas solicitudes y esto también devolverá 403 Forbidden. Microsoft IIS responde de la misma manera cuando se deniegan los listados de directorios en ese servidor. En WebDAV , el servidor devolverá la respuesta 403 Forbidden si el cliente emitió una solicitud PROPFIND pero no emitió también el encabezado Depth requerido o emitió un encabezado Depth de infinito. [3]
Causas
Un código de estado 403 puede aparecer por las siguientes razones: [4]
Permisos insuficientes: la razón más común para que aparezca un código de estado 403 es que el usuario no tiene los permisos necesarios para acceder al recurso solicitado. Esto puede significar que el usuario no ha iniciado sesión, no ha proporcionado credenciales válidas o no pertenece al grupo de usuarios adecuado para acceder al recurso.
Se requiere autenticación: en algunos casos, el servidor requiere autenticación para acceder a determinados recursos. Si el usuario no proporciona credenciales válidas o si la autenticación falla, se devuelve un código de estado 403.
Restricciones de IP: El servidor también puede restringir el acceso a direcciones IP específicas o rangos de IP. Si la dirección IP del usuario no está incluida en la lista de direcciones permitidas, se devuelve un código de estado 403.
Configuración del servidor: La configuración del servidor puede configurarse para prohibir el acceso a determinados archivos, directorios o áreas del sitio web. Esto puede deberse a una configuración incorrecta o a restricciones intencionales impuestas por el administrador del servidor.
Bloqueado por un firewall o software de seguridad: puede aparecer un código de estado 403 si un firewall o un software de seguridad bloquea el acceso al recurso. Esto puede suceder debido a políticas de seguridad, detección de malware u otras medidas de seguridad.
Ejemplos
Solicitud del cliente: [5]
GET /securedpage.php HTTP / 1.1 Host : www.example.org
Respuesta del servidor: [5]
HTTP / 1.1 403 Tipo de contenido prohibido : texto/html< html > < head >< title > 403 Prohibido </ title ></ head > < body > < h1 > Prohibido </ h1 > < p > No tienes permiso para acceder a /securedpage.php en este servidor. </ p > </ body > </ html >
Códigos de error de subestado para IIS
Los siguientes códigos no estándar son devueltos por Internet Information Services de Microsoft y no están reconocidos oficialmente por IANA . [6]
1 – Ejecutar acceso prohibido
403.2 – Acceso de lectura prohibido
403.3 – Acceso de escritura prohibido
403.4 – Se requiere SSL
403.5 – Se requiere SSL 128
403.6 – Dirección IP rechazada
403.7 – Se requiere certificado de cliente
403.8 – Acceso al sitio denegado
403.9 – Demasiados usuarios
403.10 – Configuración no válida
403.11 – Cambio de contraseña
403.12 – Se le negó el acceso al asignador
403.13 – Certificado de cliente revocado
403.14 – Se ha denegado la inclusión en el directorio
403.15 – Licencias de acceso de cliente excedidas
403.16 – El certificado del cliente no es confiable o no es válido
403.17 – El certificado del cliente ha expirado o aún no es válido
403.18 – No se puede ejecutar la solicitud de ese grupo de aplicaciones
403.19 – No se pueden ejecutar CGI para el cliente en este grupo de aplicaciones
403.20 – Error al iniciar sesión en Passport
403.21 – Acceso a la fuente denegado
403.22 – Se niega la profundidad infinita
403.502 – Demasiadas solicitudes desde la misma IP de cliente; se alcanzó el límite de restricción de IP dinámica
403.50 – Rechazado debido a restricción de dirección IP
^ Consulte #Códigos de error de subestado para IIS para conocer las posibles razones por las cuales un servidor web puede negarse a cumplir una solicitud.
Referencias
^ Protocolo de transferencia de hipertexto (HTTP/1.1): semántica y contenido. IETF . sec. 6.5.3. doi : 10.17487/RFC7231 . RFC 7231.
^ Nielsen, Henrik; Mogul, Jeffrey; Masinter, Larry M.; Fielding, Roy T.; Gettys, Jim; Leach, Paul J.; Berners-Lee, Tim (junio de 1999). "RFC 2616 - Protocolo de transferencia de hipertexto - HTTP/1.1". Tools.ietf.org. doi :10.17487/RFC2616 . Consultado el 9 de abril de 2018 .
^ ab "Extensiones HTTP para creación y control de versiones distribuidos en la Web (WebDAV)". IETF . Junio de 2007. Archivado desde el original el 3 de marzo de 2016 . Consultado el 12 de enero de 2016 .
^ Código de estado HTTP 403 ¿Cómo soluciono el problema con el código de estado 403?
^ ab Ejemplo de "Solicitud del cliente" y "Respuesta del servidor" para el código de estado HTTP 403
^ HaiyingYu (23 de febrero de 2023). «Descripción general del código de estado HTTP: Internet Information Services». learn.microsoft.com . Consultado el 19 de mayo de 2024 .
Enlaces externos
Módulo Apache mod_proxy – Reenvío
Trabajar con contextos de SELinux Etiquetado de archivos
Protocolo de transferencia de hipertexto (HTTP/1.1): semántica y contenido