C#网络服务和Android应用:如何防止非法访问

时间:2013-02-13 14:35:14

标签: c# android web-services security code-access-security

我正在使用(满意地)来自Android应用程序的一些Web服务。

我使用https(我买了SSL证书)。

我希望阻止其他知道我的网络服务网址的不受欢迎的访问。

我使用应用程序必须提供给Web服务方法的“密钥”,但它存储在代码中的常量变量中,我知道这不是确保安全性的最佳解决方案。

Android网络服务电话(使用kso​​ap):

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

    request.addProperty("securityKey", SECURITY_KEY);

C#网络服务

[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

1 个答案:

答案 0 :(得分:1)

你根本做不到这一点。你应该混淆你的代码。这是软件开发者与破解者之间的旧战争

你无法阻止某人使用/分析驻留在客户端的代码,但是你可能会难以理解,几乎所有人都会放弃这样做,因为它太难以利用你的代码。