0

ページがあり、ScriptManager を介して aspx ページからこれらを使用できる webmethods があります。ページの外部からこれらのメソッドにアクセスできる人がいれば、どうすれば WebMethods を保護できますか?

4

4 に答える 4

4

Web メソッドには、Web ページと同じ種類のセキュリティがあります。それらが安全にアクセスされていることを確認する必要がある場合は、アクションを許可する前に、有効なセッション、認証されたユーザーなどを確認してください。Web メソッドへのリクエストには、リクエストを行ったユーザーが認証されているかどうかを判断するために必要なさまざまな Cookie が含まれている必要があります。認証されたユーザーの ID、そのロールなどに基づいて、リクエストを処理する必要があるかどうかを判断できます。Web 構成を使用してページを保護している場合、ページに適用されるセキュリティは、ページの Web メソッドにも適用される必要があります。

誰かがブラウザーとは無関係に単純にリクエストを発行しないという保証はできないことに注意してください (つまり、リクエストが常にアプリケーションの UI 内から行われるということです)。どのページでも行うのと同じ種類のセキュリティ チェックを行う必要があります。

ここで、ASPX ページに追加された Web メソッドの保護について話していることに注意してください。Web サービスの場合、認証と承認はまったく異なる方法で処理される場合があります。たとえば、すべてのリクエストで資格証明が必要になる場合があり、「エンベロープ」またはメソッド自体のパラメータの一部である場合があります。Web サービスを保護することは、おそらくそれ自体の問題の主題です。

于 2009-09-10T12:33:58.907 に答える
3

Web メソッドを完全に保護することは不可能です。結局のところ、Web ページからアクセスしている場合は、クライアント ブラウザーから直接アクセスしていることになります。

ある種のワンタイム パスワード/トークンを含める必要がある追加のパラメーターを追加し、ページがレンダリングされるときに生成することができます。これにより、誰かが実際にサイトにアクセスせずに Web サービスを使い続けることが難しくなります。

于 2009-09-10T12:20:53.090 に答える
1

はい、WebMethod属性を追加すると、そのメソッドがリモートで呼び出せるようになります。つまり、たとえばjavascriptを使用して呼び出すことができます。簡単に言えば、サード パーティに呼び出してほしくない WebMethods を公開するべきではありません。ただし、セキュリティと Web サービスに関する詳細については、http://msdn.microsoft.com/en-us/magazine/cc188947.aspx を参照してください。

于 2009-09-10T12:19:45.120 に答える
1

はい。

しかし、それらは簡単に保護できます

于 2013-01-10T03:32:21.657 に答える