2

詳細を知りたいマイナーだが重要な違いを除いて、これとほぼ同じ質問を見てきました。

MVC にコントローラーとアクション メソッドがあるとします。これは、次の URL で要求を受け入れます: http://example.com/api/myapimethod?data=some-data-here

この URL は、1000 以上のクライアントによって定期的に呼び出され、一般に公開されています。その理由はクラウドソーシングです。世界中のクライアントがサーバー上のグローバル キャッシュにフィードするのに役立ちます。これにより、残りのクライアントがデータをフェッチするのが速くなります。

今、私が卑劣な場合 (そして私はそうです)、Fiddler、Ethereal、Wireshark、またはその他のパケット スニッフィング ツールにアクセスして、プログラムがどの要求を行っているかを突き止めることができます。

それを理解することで、それらを複製し、偽の破損データでサービスを埋めることもできます。

ASP .NET MVC アクション メソッドで受信したデータが実際にデスクトップ クライアント アプリケーションからのものであり、ユーザーが作成した誤って生成されたデータではないことを確認する最善の方法は何ですか?

すべてクラウドソーシングに基づいているため、一部のデータが改ざんされた場合にユーザーが「投票」し、十分な投票があれば自動クリーンアップを開始できるようにすることは良い考えでしょうか?

私は SmartAssembly のようなツールにアクセスできないので、残念ながら私の .NET プログラムは完全に逆コンパイル可能です。これを間違いのない方法で達成することは不可能かもしれないことは承知していますが、どこに最善の可能性があるかを知りたいです。

4

3 に答える 3

1

どのソリューションも最終的には信頼できないため、システムを使用するエンド ユーザーにキーを効果的に提供する必要があります。

ユーザーが悪いコンテンツに投票できるシステムを用意するのが最善ですが、信頼できないソースからのものであるため、悪いデータが悪いデータであるとユーザーが判断できるように、評判システムまたは何らかの信頼メカニズムが必要です。

SSL は中間者攻撃のみを防御します。

システムの構築に費やす時間は、それがあなたとユーザーにとってどれだけ重要か、そして誰かがシステムを攻撃する可能性に左右されます

于 2012-09-03T15:48:09.850 に答える
0

ここで説明されているいくつかの方法があります:

http://codebetter.com/johnvpetersen/2012/04/02/making-your-asp-net-web-apis-secure/

1°) SSL (HTTPS) の使用 2°) 秘密鍵/公開鍵の使用

于 2012-09-03T15:42:27.953 に答える
0

道はない。他の人が管理アクセス権を持つボックスでコードを実行できるようにするたびに、そのシステムのセキュリティ機能を彼らに委任します。

つまり、ユーザーを識別し、サービスを悪用した場合の処罰システムが必要です。また、特定の各ユーザーを識別し、そのユーザーを切断できる必要があります。つまり、ユーザー アカウントを作成し、プログラムが機能するための鍵 (対称または非対称、または少なくとも認証 Cookie) を配布することを意味します。

于 2012-09-07T09:36:21.917 に答える