0

Android アプリケーションからいくつかの Web サービスを (満足して) 使用しています。

https を使用しています (SSL 証明書を購入しました)。

Web サービスの URL を知っている他人からの不要なアクセスを防止したい。

アプリが Web サービス メソッドに提供する必要がある "秘密鍵" を使用していますが、コード内の定数変数に格納されており、これがセキュリティを確保するための最善の解決策ではないことはわかっています。

Android Web サービス呼び出し (ksoap を使用):

try {
    SoapObject request = new SoapObject(configuration.getNamespace(), methodName);

    request.addProperty("securityKey", SECURITY_KEY);

C# Web サービス

[WebMethod]
public string UserRegistraion(string securityKey, string data)
{
    if (securityKey != Environment.SecurityKey)
    {
        return "WRONG_KEY";
    }

決定的な解決策を達成するための最良の方法は何ですか?

編集:

誰かが示唆したように、 security.stackexchange.comでも同じ質問をしました。

https://security.stackexchange.com/questions/30850/web-services-how-prevent-illegal-accesses

4

1 に答える 1

1

あなたは単にこれを行うことはできません. コードを難読化する必要があります。これはソフトウェア開発者とクラッカーの古い戦いです

クライアント側に常駐するコードを使用/分析することで誰かをブロックすることはできませんが、コードを悪用するのが難しすぎるため、ほとんどすべての人がそれをやめるという点で困難にすることができます.

于 2013-02-13T14:49:18.670 に答える