2017-07-09 7 views
1

ASP.NET Core MVCアプリケーション(UI)とは別のASP.NET Core Web APIアプリケーションがあります。将来的には多くの異なるクライアントがAPIにアクセスする必要があるため、いくつかの理由でそれらを組み合わせることは望ましくありません。MVCアプリケーションのクライアントとコントローラの両方からASP.NET WebAPIを呼び出す際のセキュリティ上の問題

MVCアプリケーションは、APIへの呼び出しを2つの異なる方法で行います。
1. MVCコントローラでSystem.Net.HttpClientを使用してビューモデルを設定します。
2. jQuery AJAXを呼び出すときに、私はAPIを直接呼び出すのが最善であると考えました。 (注:私はCORSがMVCアプリケーションからの呼び出しを許可するようにしました)。これはAngularクライアントがAPIを直接呼び出すのと同じことです。

私の質問:
私はjQueryを使ってクライアントから直接APIにかなり一般的意思の呼び出しを行うと、AJAXを使用して、ちょうどビューのデータをロードしない場合は別途コントローラにSystem.Net.HttpClientています何です。 AJAXの呼び出しはまずMVCコントローラに移動し、MVCコントローラはSystem.Net.HttpClientを使用してDELETE要求を行い、クライアントからAPIを直接呼び出すことはありませんか?

セキュリティ上の懸念は何ですか?私はjQueryから直接APIを呼び出すことについて少し神経質になります。私は誰でもlocalhost:6000(私のMVCポート)であり、localhost:6001/api/users/1(私のAPIポート)に対してDELETE要求をすると誰もが思うように感じる。

+0

トークンベース認証を使用できます。一般的にコントローラを安全にしてください。 annoymousリクエストを停止します。 –

答えて

1

あなたはこれについて心配することは絶対に正しいです。これらのAPIメソッドにアクセスするすべてのリクエストが許可されていることを確認して、アプリケーションのセキュリティを確保する必要があります。

この種の攻撃やその他の一般的なセキュリティ上の脆弱性からアプリケーションを保護する方法の概要については、10 Points to Secure Your ASP.NET MVC Applications.を読むことをお勧めします。

関連する問題