我正在(满意地)使用来自 Android 应用程序的一些 Web 服务。
我使用 https(我购买了 SSL 证书)。
我想防止其他知道我的 Web 服务 url 的人进行不必要的访问。
我使用应用程序必须向 Web 服务方法提供的“密钥”,但它存储在代码内的常量变量中,我知道这不是确保安全性的最佳解决方案。
Android 网络服务调用(使用 ksoap):
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