0

JSON サービスを多用する ASP.NET Web サイトがあります。基本的な構造は、jQuery Plugins -> JSON Service -> Server-Side BAL です。

ただし、このソリューションは明らかに安全ではありません。悪意のあるユーザーが Fiddler などのツールを実行してマシン上で JSON 呼び出しをキャプチャし、これらの JSON 呼び出しをパラメーターを変更して再生するなどの可能性があるためです。

Web サービス フォルダを SSL の下に置くと、どのような保護が得られますか? サイト全体を SSL の下に置いてみましたが、まだ Fiddler を実行していると、HTTPS プロトコルに送信されるクリアテキスト メッセージが表示され、同じまたは変更されたパラメーターを使用して Fiddler からそれらのメッセージを再生できます。

私は明らかに SSL についてほとんど知識がなく、助けが必要です。SSL が正しく設定されていないように聞こえますか、それとも Fiddler 経由で SSL トラフィックを確認できることが期待されていますか? 後者の場合、SSL は私のシナリオでどのような保護を提供しますか?

ありがとうございました。

4

2 に答える 2

0

ボブが自分の Web サイトに SSL を実装すると、アリスがそのサイトを使用するときに、マロリーがデータを傍受したり、途中で変更したりすることができなくなります。SSL は、Alice のブラウザと Bob のサーバー間のメッセージを秘密にします。Alice と Alice のブラウザ間のメッセージは秘密にされません。

悪意のあるデータから身を守るには、2 つの方法があります。

  1. 別の形式に挿入する前に、すべてをエスケープ (または同等のもの) します。たとえば、SQL で準備済みステートメントを使用する、JSON シリアライザーを使用して JSON を構築し、文字列マッシングを使用しない、など。
  2. ユーザーを認証し、信頼できるユーザーからのデータのみを受け入れます
于 2013-03-14T13:51:11.247 に答える
0

SSL はトランスポートのみを暗号化します。クライアントとサーバー間のデータ交換を第三者が盗聴できないことを意味します。サーバーまたはサービス自体にセキュリティ機能を追加するものではありません。

必要なのは、適切な認証、許可、および検証システムです。すべてのリクエストは、その有効性を確認する必要があります。ユーザーがパラメーターをいじったため、コードのバグなどのために、あらゆる種類のパラメーターを含むあらゆる種類のリクエストを受け取る準備をしてください。リクエストが無効な場合、つまり特定のユーザーが特定のことを行うことを許可されていない場合は、リクエストを拒否します。
これは、実装できるアドオン テクノロジではありません。サービスの中心的な設計上の考慮事項です。

于 2013-03-14T13:51:14.517 に答える