Нечетные запросы для URL, которые являются * телом * моих файлов CSS

Я не совсем уверен, как это выразить, но мой сервер NodeJS недавно получил ошибки, потому что некоторая библиотека промежуточного программного обеспечения не может анализировать определенные параметры из URL-адресов. Когда я смотрю, для каких URL это происходит, URL выглядит примерно так:

/*!%20%20*%20angular-hotkeys%20v1.4.5%20*%20https://chieffancypants.github.io/angular-hotkeys%20*%20Copyright%20(c)%202014%20Wes%20Cruver%20*%20License:%20MIT%20*/.cfp-hotkeys-container%7Bdisplay:table!important;position:fixed;width:100%;height:100%;top:0;left:0;color:

Да. Это URL. Я знаю, что это не похоже на URL. Это первые 270 символов файла CSS, который я использую. Периодически запрашиваются и другие CSS-файлы.

Что здесь происходит?

Я посмотрел на пользовательских агентов, которые отправляют эти запросы, и это смесь: chrome 72 для Mac, chrome 71 для Linux, Firefox 64 для Mac. Так что, предположительно, не бродячий браузер или паук.

Я посмотрел в своем коде, и эти файлы имеют только одну ссылку, например,

<link defer="defer" rel='stylesheet' href="/css/lib/hotkeys.min.css">

(они не все имеют отсрочку), и никто не сообщал о проблемах с этими файлами не загружается.

Я планирую написать небольшой кусочек промежуточного программного обеспечения, которое будет перехватывать эти запросы, так как все они начинаются с комментария CSS /* и вернуть ошибку до того, как промежуточное ПО для анализа параметров станет раздражительным. Но это на самом деле не объясняет, что происходит.

1 ответ

Решение

Вы не должны видеть ошибки в вашем приложении для подобных вещей. Ваше приложение должно действительно обрабатывать любые URL без слез. Если по этому URL нет содержимого, просто верните 404. URL - это то, что вы не контролируете, и ваш рабочий веб-сервер увидит действительно странные URL. В наши дни боты, пытающиеся использовать эксплойты на основе URL, все еще довольно распространены.

Сказав это, вы можете просто сбросить заголовки запросов на такие ошибки, взгляните на Referrer и User-Agent, чтобы отследить, как / когда это происходит.

Другие вопросы по тегам