Можно ли настроить apache на игнорирование запросов OPTIONS?

3

Я запускаю небольшой webapp для нескольких департаментов на работе, что очень мало трафика и не так много пользователей. Он построен поверх Django и использует apache как веб-сервер. У меня есть настроенные письма, чтобы отправлять мне по электронной почте, когда возникают какие-либо ошибки, которые до вчерашнего дня были замечательными - ошибок не было, но иногда пользователи не говорят, когда сталкиваются с проблемами, поэтому он позволяет мне оставаться на вершине вещей.

Вчера у нас появился новый пользователь, и я начал получать тонны писем с ошибками. Он понятия не имел, что что-то не так, поэтому я подумал, что это что-то за кулисами. Когда я смотрел журналы, они являются запросами HTTP OPTIONS, которые используют "Протокол поставщика интернет-публикаций Microsoft Access Access" и "Обнаружение протокола Microsoft Office". Я никогда не слышал об этом до этого момента, но, похоже, это своего рода веб-папки MS/webDAV.

Один из вариантов заключается в том, чтобы выяснить, как он может отключить это и сказать ему, чтобы он прекратил это делать, но я предпочел бы просто отрубить ему голову и сделать что-то вроде того, что Apache просто не передает эти запросы Django. способ, которым это можно обработать?

Теги:
http
webdav

3 ответа

2

Я нашел решение, используемое другой картой и перенесенное в Django. Я помещаю это вверху любого представления, которое генерирует HTML со ссылками на файлы .XLS или .DOC:

if request.method == 'OPTIONS':
    response = HttpResponse()
    response['Allow'] = 'GET, HEAD, POST'
    return response

Мне нравится решение Apache лучше, хотя... предполагая, что это не вызывает проблем на стороне Windows.

2

Опция перезаписи хорошая, "Apache Way", вероятно, больше похож:

<LimitExcept GET POST>
deny from all
</LimitExcept>

или...

<Limit OPTIONS>
deny from all
</Limit>
  • 0
    Апач говорит: «отрицать, что здесь запрещено»
1

Как насчет:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^OPTION
RewriteRule .* - [F]

(с включенным mod_rewrite.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню