Как определить, поступил ли HTTP-запрос от браузера или какого-либо агента - PullRequest
0 голосов
/ 07 апреля 2020

Я хотел бы знать, как лучше различать запрос, который был сделан из браузера или какого-либо агента (например, почтальона, но также и инструментов для написания сценариев). Это не для мер безопасности, только разные логики c, которые должны применяться в зависимости от варианта использования.

Я использую следующий подход:

HttpBrowserCapabilities browserCapabilities = context.Request.Browser;

if (browserCapabilities.Browser == "Unknown" && browserCapabilities.Id == "default") 

, который работает для меня .

Однако я хотел бы услышать ваши отзывы об этом методе, и если вы считаете, что с этим подходом что-то может не получиться. Я не нашел в Интернете никакой ссылки на этот подход, поэтому мне интересно, что мне не хватает. Это надежно или нет?

Пожалуйста, сообщите.

1 Ответ

1 голос
/ 07 апреля 2020

Пользовательский агент является нормальным механизмом для этого. Посмотрите на context.Request.Headers.UserAgent. И да, некоторые скриптовые инструменты будут ie и притворяться браузерами. Но если дело не в безопасности, это на них.

...