Introduzione
I metodi HTTP vengono utilizzati per eseguire operazioni di creazione, lettura, aggiornamento ed eliminazione (o CRUD). I metodi più comuni sono POST, GET, PUT, PATCH e DELETE. È buona norma disabilitare i metodi inutilizzati e non sicuri come PUT, PATCH e DELETE.
Questo tutorial spiega come disabilitare i metodi HTTP per un server Web Apache.
Disabilitare i metodi HTTP in Apache
Crea un file ".htaccess" nella directory principale del documento e aggiungi il codice seguente. Assicurati che il modulo di riscrittura di Apache e .htaccess siano abilitati.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|PUT|DELETE|PATCH|TRACK|OPTIONS)
RewriteRule .* - [F]
La configurazione precedente disabiliterà i metodi HEAD, PUT, DELETE, PATCH, TRACK e OPTIONS.
Quindi, riavvia il server web Apache per applicare le modifiche.
sudo systemctl restart apache2
Verificare l'installazione
È possibile verificare le modifiche utilizzando l'utilità della riga di comando curl. Inviamo una richiesta dal tuo sistema per verificare che il server accetti richieste di intestazione specifiche. Ad esempio, il comando seguente invierà una richiesta "OPZIONI" al server:
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>
Vedrai un messaggio proibito nel risultato. Ciò significa che il server Apache ha rifiutato la richiesta OPTIONS.
Conclusione
Si spera che questo articolo ti aiuti a disabilitare i metodi HTTP per il tuo server web Apache.