Limitar los encabezados de solicitud de Apache2.4

Limitar los encabezados de solicitud de Apache2.4

Estoy intentando limitar los encabezados de solicitud de un host virtual a solo POSTy . Lo que he hecho hasta ahora es crear un para mi host virtual y escribí lo siguiente:HEADGET.htaccess

<LimitExcept GET HEAD POST>
    Require valid-user
</LimitExcept>

El problema es que <LimitExcept>muestra un error que dice not allowed here, así que intenté usarlo <Limit>pero aparece el mismo error. También intenté moverlos dentro de mi .confarchivo de host virtual y sigue apareciendo un error. Lo que no entiendo es que en los documentos oficiales dice que se permite allí y, sin embargo, en mi servidor no.

Respuesta1

Si estás intentando permitir sólo los métodos GET, POST y HEAD, entonces esto debería funcionar bien:

<Directory "/path/to/documentroot">
    Require method GET POST HEAD
</Directory>

Deberá colocar esta configuración dentro de su VirtualHost.

EDITAR: Y para responder a su otra pregunta en el comentario (cómo habilitar la autenticación de contraseña solo para solicitudes POST), esto se puede lograr con las siguientes directivas (que puede colocar en /ruta/a/su/directorio/.htaccess):

<RequireAny>
     AuthUserFile /path/to/your/.htpasswd
     AuthName "Login"
     AuthType Basic
     Require method GET HEAD
     Require valid-user
</RequireAny>

Esto permitirá los métodos GET y HEAD, pero las solicitudes POST activarán la autenticación.

Respuesta2

2.4 tiene un módulo específico para esto, llamado mod_allowmethods, y se desaconseja el uso de Limit/LimitExcept en 2.4. Asegúrate de cargar el módulo y en el virtualhost apropiado agrega esto:

# documentroot dir in virtualhost
<Directory /path/to/dir>
     AllowMethods GET HEAD POST
     Require valid-user
</Directory>

También puede hacerlo global definiéndolo anteriormente en la configuración del servidor para todo lo que describo a continuación.

*** tenga en cuenta que esto está / en su sistema de archivos, por lo que debe denegar el acceso aquí y permitir directorios específicos como documentroot o alias después, pero los métodos de permiso se propagan más hacia abajo a menos que lo anule más tarde.

<Directory />
    Require all denied
    AllowMethods GET HEAD POST
</Directory>

información relacionada