2016-12-29 44 views
0

您好我想限制通过IP地址访问我的MVC Web API应用程序。我认为这可能会形成一个很好的安全“层”。但我有一些问题。只允许从IP地址调用mvc web api

这个api没有保护敏感数据,我认为这将有助于阻止某人试图破解api。我是新手,想要实用的最佳实践。

API和客户端都使用SSL证书,因此IP是静态的。但客户端的用户将是未经过身份验证的网站公共用户,我的团队对此没有任何有意义的控制。

在MVC中检测IP最可靠的方法是什么?

欺骗有多容易?

我更喜欢在属性而不是web配置中进行代码,所以如果团队的需求发生变化,我们可以通过不同的机制将控制器锁定在更多颗粒级别上。

或者这不是一个特别有用的方法吗?我愿意选择。

回答

0

尝试与CORS做到这一点..你可以选择IP(主机)可以与您的后端comunicate ...类似:

在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

我喜我要添加CORS,但我正在考虑访问不是浏览器的API,例如恶意的国家赞助的控制台应用程序。那么也许这不太可能!但我对如何确定IP地址不是来自浏览器的源以及是否可靠提供了兴趣。 – user1102550

相关问题