Запрет доступа для HTTP-методов

В некоторых случаях требуется запретить определенные методы HTTP-запросов, например ограничение методов API веб-приложений или защита от ботов.

Протокол HTTP имеет следующие методы запросов:

GET Запрашивает ресурс
HEAD Так же, как и метод GET, но без тела ответа
POST Используется для отправки данных ресурсу для добавления сущностей
PUT Так же, как POST, но заменяет сущности
DELETE Удаляет указанный ресурс
CONNECT Устанавливает «туннель» к серверу
OPTIONS Используется для описания параметров соединения с ресурсом
TRACE Выполняет вызов возвращаемого тестового сообщения с ресурса
PATCH Используется для частичного изменения ресурса
1
<Limit GET>
Order Allow,Deny
Allow from All
</Limit>
htaccess
2

Запрет POST

<Limit POST>
Order Allow,Deny
Allow from All
</Limit>
htaccess
3
<Limit PUT>
order deny,allow
deny from all
</Limit>
htaccess
4
<Limit DELETE>
order deny,allow
deny from all
</Limit>
htaccess
5

Запрет методов кроме POST

<Limit GET PUT DELETE>
order deny,allow
deny from all
</Limit>
htaccess
6

Также блокировку запросов можно реализовать с помощью модуля mod_rewrite, указав условия в RewriteCond.

Запрет POST-методов

RewriteCond %{REQUEST_METHOD} POST
mod_rewrite ^ / [L,F]
htaccess

Запрет методов кроме POST

RewriteCond %{REQUEST_METHOD} !POST
mod_rewrite ^ / [L,F]
htaccess
14.12.2018, обновлено 15.10.2019
9574

Комментарии

, чтобы добавить комментарий.

Другие публикации

Подключение шрифтов с другого домена
Как и кроссдоменные запросы AJAX, подключение шрифтов с другого домена или поддомена по умолчанию запрещены и вызывают...
10429
+1
Работа с FTP в PHP
Протокол FTP – предназначен для передачи файлов на удаленный хост. В PHP функции для работы с FTP как правило всегда доступны и не требуется установка дополнительного расширения.
18749
+2
Управление выводом ошибок PHP
PHP предлагает гибкие настройки вывода ошибок, среди которых функия error_reporting($level) – задает, какие ошибки PHP попадут в отчет.
20514
+1
Использование API Яндекс Диска на PHP
Можно найти множество применений Яндекс Диска на своем сайте, например, хранение бекапов и отчетов, обновление прайсов,...
56427
+20
Интеграция с платежной системой PayKeeper в PHP
Платежная платформа PayKeeper позволяет принимать оплату заказов по ссылке, используя данный метод можно с легкостью...
9684
+1
Автоматическое сжатие и оптимизация картинок на сайте
Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет...
28787
+8