gpt4 book ai didi

java - 将 Web 服务访问权限限制为仅一个应用程序

转载 作者:行者123 更新时间:2023-11-30 11:20:27 24 4
gpt4 key购买 nike

现在我正在开发一个 Android 应用程序,我对此完全陌生。

我想确保我的网络服务只能通过我的应用访问。

我的背景是 PHP。在 PHP 中,我不需要担心类似的事情,因为一切都在服务器上运行。

对于 Java,尤其是 Android 编程,情况有所不同。即使有加密。每个人都可以打开一个 APK 并查看 Web 服务是如何被访问的。那么有没有办法隐藏或混淆对 Web 服务的访问,以便只有我的应用程序能够使用它?

出于测试目的,我没有添加任何安全或加密。这是我现在正在执行的对 Web 服务器的基本调用:

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 在任何网络流量之前使用 SSL(或现在的 TLS),因此您不能在您的应用程序中对此进行编程,它确实需要服务器配置。

检查 this link关于如何为 Apache 2 配置。

关于java - 将 Web 服务访问权限限制为仅一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22708227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com