Запретить POST-запрос - PullRequest
       16

Запретить POST-запрос

0 голосов
/ 25 апреля 2019

У меня есть сервер с Linux и Apache последней версии.Я заметил, что если я отправляю POST с данными по любому адресу на сайте, это принимается, даже если нет специального сценария PHP, который может это обработать.Я думаю это нормально.Но как я могу предотвратить это?Я знаю, что некоторые сайты (Ebay) завершают публикацию перед возвратом ошибки (представьте, если публикация содержит большой файл, потребление пропускной способности сервера гарантировано).Как вы можете предотвратить запуск POST перед скриптом php или любым другим скриптом?Вам нужно работать на сервере Apache или в .htaccess?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

Вам нужно будет заблокировать запрос, прежде чем он достигнет PHP. Я не уверен насчет метода header(), но ограничение доступа из .htaccess кажется более безопасным вариантом.

RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* – [F,L]
0 голосов
/ 25 апреля 2019

Я не уверен, но я думаю, что вы должны установить заголовки ответа, чтобы сообщить браузеру, что ваша конечная точка принимает ...

header('Access-Control-Allow-Methods', 'GET, PUT, DELETE, PATCH, OPTIONS'); // just exclude the POST method

Я просто плюнул, я получил это отспецификации CORS. Если это не сработает, вероятно, это потому, что этот заголовок должен быть в ответ на запрос OPTIONS.

Если это сработает, пожалуйста, сообщите мне.

...