Введение
Методы HTTP используются для выполнения операций создания, чтения, обновления и удаления (или CRUD). Наиболее распространенными методами являются POST, GET, PUT, PATCH и DELETE. Рекомендуется отключать неиспользуемые и небезопасные методы, такие как PUT, PATCH и DELETE.
В этом руководстве объясняется, как отключить методы HTTP для веб-сервера Apache.
Отключить HTTP-методы в Apache
Создайте файл «.htaccess» в корневом каталоге документа и добавьте следующий код. Убедитесь, что модуль перезаписи Apache и.htaccess включены.
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|PUT|DELETE|PATCH|TRACK|OPTIONS)
RewriteRule.* - [F]
Приведенная выше конфигурация отключит методы HEAD, PUT, DELETE, PATCH, TRACK и OPTIONS.
Затем перезапустите веб-сервер Apache, чтобы изменения вступили в силу.
sudo systemctl restart apache2
Проверьте установку
Вы можете проверить изменения с помощью утилиты командной строки curl. Мы отправляем запрос из вашей системы, чтобы убедиться, что сервер принимает определенные запросы заголовков. Например, следующая команда отправит серверу запрос «OPTIONS»:
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>
В результате вы увидите запрещенное сообщение. Это означает, что сервер Apache отклонил запрос OPTIONS.
Вывод
Надеюсь, эта статья поможет вам отключить HTTP-методы для вашего веб-сервера Apache.