我正在开发Android混合应用
客户端使用JavaScript和html编写,设备正在使用https://github.com/koush/AndroidAsync的AsyncHttpServer
http服务器实现/doSomething
- 如何阻止外部应用程序(包括设备浏览器)调用http://localhost:50001/doSomething?
混合应用程序应该是唯一能够调用此方法的应用程序。
答案 0 :(得分:1)
你不能。你只能让它变得更加困难。
使其变得更加困难的一种方法是在应用程序中嵌入键值,并要求应用程序将该值传递给服务。然后,只有知道价值的应用才能做到这一点。当然,如果你这样做,它很容易反编译你的应用程序并找到欺骗你的价值。
为了更安全,您可以实施身份验证 - 通过ssl加密通道并让用户通过密码登录。这将使得只有授权用户才能使用您的服务 - 但它不会阻止授权用户使用其他应用程序来调用该URL。