1

Web サービス page( ) が JavaScript 呼び出しで消費されており 、この Web サービスへのパブリック リクエストを、aspx または javascript のローカル ページからのリクエスト以外webservice.asmxに制限したいと考えてい ます。Web サービスは、実行される前にフォーム認証をチェックし ますが、サービスのリストは表示可能であり、ページでパラメータにアクセスできます。ユーザーは 入力して私の Web サービスにアクセスできます。そのため、そのオプションを制限する必要があり ます。パブリック ユーザー アクセスからファイルを保護するにはどうすればよいですか?


.asmx
www.site.com/webservice1.asmx
asmx

4

1 に答える 1

1

Web サービスへの HTTP GET アクセスを制限したいのでwebServices、Web.config のセクションを変更します。

<webServices>
     <protocols>
       <add name="HttpPost" />
       <remove name="HttpGet" />
       <remove name="Documentation"/>
     </protocols>
</webServices>     

編集- HTTP GET を無効にするその他の方法

  1. この属性を Web メソッドのすぐ上に追加します。

    [ScriptMethod(UseHttpGet = false)]
    
  2. 各 Web メソッド内にこのチェックを追加します。

    if (HttpContext.Current.Request.HttpMethod == HttpMethod.POST)
        // Do your work
    
于 2012-05-15T06:57:32.830 に答える