2016-12-29 5 views
0

Привет, я хотел бы ограничить доступ к моему приложению MVC Web API по IP-адресу. Я думал, что это может создать хороший уровень безопасности. Но у меня есть некоторые вопросы.Только разрешить mvc web api вызываться с адреса Ip

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

И API, и клиент используют SSL-сертификаты, поэтому IP-адреса являются статическими. Но пользователи на клиенте будут неавторизованными публичными пользователями веб-сайта, моя команда не имеет никакого значимого контроля над этим.

Что является самым надежным способом обнаружения IP-адреса в MVC?

Насколько легко обманывать?

Я бы предпочел сделать код в атрибуте, а не в веб-конфигурации, так что команде мы можем заблокировать контроллеры с различными механизмами на более гранатурном уровне, если потребности API изменится.

Или это не особенно полезный подход? Я открыт для альтернатив.

ответ

0

Попробуйте сделать это с CORS .. Вы можете выбрать, какой IP (хосты) можно с общаются задней частью ... что-то вроде:

в вашем Startup.cs:

public partial class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      var corsPolicy = new CorsPolicy 
     { 
      AllowAnyMethod = true, 
      AllowAnyHeader = true, 
      SupportsCredentials = true, 
      Origins = { "http://www.example.com", "http://localhost:38091", "http://localhost:39372" } 

     }; 

app.UseCors(new CorsOptions 
     { 
      PolicyProvider = new CorsPolicyProvider 
      { 
       PolicyResolver = context => Task.FromResult(corsPolicy) 
      } 
     }); 
      ConfigureAuth(app); 
     } 
    } 
+0

Hi I я собираюсь добавить CORS, но я думаю о доступе к API, который не является браузером, например консольное приложение, запущенное со стороны злоумышленника. Возможно, это маловероятно! Но меня интересует, как определяется IP-адрес из источников, которые не являются браузером, и является ли это надежным. – user1102550