0

Visual Studio 2010 を使用して VB で簡単な Web サービスを作成しました。この Web サービスをユーザー名とパスワードで保護したいと考えています。ユーザー名とパスワードが一致すれば、コンテンツを利用・閲覧することができます。私のWebサービスは次のとおりです。

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Script.Services

' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class Convert
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function HelloWorld() As String
        Return "Hello World"
    End Function

    <System.Web.Services.WebMethod()> _
    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
    Public Function FahrenheitToCelsius(ByVal Fahrenheit As Double) _
           As Double
        Return ((Fahrenheit - 32) * 5) / 9
    End Function

    <System.Web.Services.WebMethod()> _
    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
    Public Function CelsiusToFahrenheit(ByVal Celsius As Double) _
            As Double
        Return ((Celsius * 9) / 5) + 32
    End Function
End Class 

Dojo を使用して JavaScript を使用して呼び出しています。誰かがそれを保護する方法を教えてくれますか?

4

1 に答える 1

1

これは合理的なアプローチを示しています: http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/

つまり、ユーザー名、ハッシュ化されたパスワード、クライアントのタイムスタンプ、関数の引数を、それらすべてのハッシュに加えて、リクエスト URL と秘密鍵とともに送信します。サーバーはハッシュを再作成して何も変更されていないことを確認し、タイムスタンプが許容範囲内にあることを確認して、関数を実行します。

于 2013-02-27T03:01:40.050 に答える