Java 仅将web服务访问限制为一个应用程序
现在我正在开发一个android应用程序,我对这个完全陌生 我想确保我的web服务只能通过我的应用程序访问 我的背景是PHP。在PHP中,我不需要担心任何类似的事情,因为一切都在服务器上运行 对于Java,尤其是Android编程,情况就不同了。即使是加密。每个人都可以打开一个APK,看看web服务是如何被访问的。那么,有没有办法隐藏或混淆对web服务的访问,以便只有我的应用程序才能使用它 出于测试目的,我没有添加任何安全性或加密。这是我现在对web服务器的基本调用:Java 仅将web服务访问限制为一个应用程序,java,android,Java,Android,现在我正在开发一个android应用程序,我对这个完全陌生 我想确保我的web服务只能通过我的应用程序访问 我的背景是PHP。在PHP中,我不需要担心任何类似的事情,因为一切都在服务器上运行 对于Java,尤其是Android编程,情况就不同了。即使是加密。每个人都可以打开一个APK,看看web服务是如何被访问的。那么,有没有办法隐藏或混淆对web服务的访问,以便只有我的应用程序才能使用它 出于测试目的,我没有添加任何安全性或加密。这是我现在对web服务器的基本调用: String url =
String url = "http://thisismyurl.com/a.php?action=get";
String result = Web.executeWeb(url);
public class Web {
public static String executeWeb(final String url) {
final StringBuilder sb = new StringBuilder();
Thread thread = new Thread(new Runnable() {
public void run()
{
try
{
InputStream is = (InputStream) new URL(url).getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String result, line = reader.readLine();
result = line;
while((line=reader.readLine())!=null){
result+=line;
}
sb.append(result);
//System.out.println(result);
//Log.i("My Response :: ", result);
} catch (Exception e)
{
// TODO: handle exception
}
}
});
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
}
我该如何在黑客窥探的目光下隐藏这一点?;-)这可能吗
提前谢谢 在TLS中使用(自签名)证书部署客户端身份验证 这种配置可以在大多数web服务器和Java应用程序服务器上启用,并且您通常也可以以这样一种方式配置web或应用程序服务器,即您可以检索客户端用于自我验证的私钥的证书 请注意,HTTPS在任何web流量之前都使用SSL(或现在的TLS),因此您无法在应用程序中对此进行编程,它确实需要服务器配置 检查如何配置Apache 2。在webservice调用中使用应用程序的ID(如IMEI)作为参数。您需要在服务器端的数据库中创建一个表,该表将存储所有注册的设备。现在只有这些注册设备才能访问您的Web服务。这是我的想法,应该还有其他想法