2016-12-29 85 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

相關問題