Introducción
Los métodos HTTP se utilizan para realizar operaciones de creación, lectura, actualización y eliminación (o CRUD). Los métodos más comunes son POST, GET, PUT, PATCH y DELETE. Es una buena práctica deshabilitar métodos no utilizados e inseguros como PUT, PATCH y DELETE.
Este tutorial explica cómo deshabilitar los métodos HTTP para un servidor web Apache.
Deshabilitar métodos HTTP en Apache
Cree un archivo ".htaccess" en el directorio raíz del documento y agregue el siguiente código. Asegúrese de que el módulo de reescritura de Apache y .htaccess estén habilitados.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|PUT|DELETE|PATCH|TRACK|OPTIONS)
RewriteRule .* - [F]
La configuración anterior deshabilitará los métodos HEAD, PUT, DELETE, PATCH, TRACK y OPTIONS.
Luego, reinicie el servidor web Apache para aplicar los cambios.
sudo systemctl restart apache2
Verificar la instalación
Puede verificar los cambios utilizando la utilidad de línea de comando curl. Enviamos una solicitud desde su sistema para verificar que el servidor acepta solicitudes de encabezado específicas. Por ejemplo, el siguiente comando enviará una solicitud de "OPCIONES" al servidor:
curl -i -X OPTIONS https://noviello.it
HTTP/1.1 403 Forbidden
Date: Thu, 30 Dec 2021 05:50:03 GMT
Server: Apache/2.4.41 (Ubuntu)
Content-Length: 281
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
<hr>
<address>Apache Server at noviello.it Port 443</address>
</body></html>
Verá un mensaje prohibido en el resultado. Esto significa que el servidor Apache rechazó la solicitud de OPCIONES.
Conclusión
Con suerte, este artículo lo ayudará a deshabilitar los métodos HTTP para su servidor web Apache.