У меня есть приложение ASP.NET MVC, которое использует .NET 4.5, и мне нужно проверить, исходит ли входящий запрос от локального хоста (самого веб-сервера, на котором развернуто мое приложение) или от внешнего клиента.
Я знаю, что ниже есть свойство, которое я могу использовать из контроллера:
System.Web.HttpContext.Current.Request.IsLocal
но некоторые люди говорят, что это не работает в версии .Net Core. См. здесь в комментарий от Олега:
Будьте осторожны с использованием HttpContext.Connection.IsLocal. Мне кажется, что использование HttpContext.Connection.RemoteIpAddress является более безопасным способом. Если я подключаюсь к тестовому проекту ASP.NET 5 RC1 локально, я вижу ::1 в RemoteIpAddress, но HttpContext.Connection.IsLocal имеет значение false. Это не правильно. — Олег
Поэтому мне интересно, не работает ли это и в ASP.NET MVC. Может ли кто-нибудь подтвердить это?
Как лучше всего проверить, является ли какой-либо входящий запрос локальным (localhost, 127.0.0.1, ::1 в IPv6) или нет в ASP.NET MVC (НЕ .Net Core)?