我们正在制作Android应用程序,它需要从mongodb数据库中获取数据。数据库中会有很多条目,并且会经常发出请求。我们应该直接访问它还是制作一个PHP脚本,它会访问它并以JSON格式返回所需的结果?
答案 0 :(得分:6)
我们应该直接访问吗
您肯定不希望直接将您的MongoDB服务器暴露给Android应用程序,尤其是如果应用程序具有允许写入访问权限的用户角色数据库。任何有权访问Android应用程序的人都可能会发现并提取这些凭据,如果您的Android应用程序旨在从更广泛的网络连接,则会不必要地暴露您的MongoDB服务器。您可能还在打开MongoDB服务器以进行可能的拒绝服务攻击或恶意查询。
MongoDB文档有一个关于Security Concepts的详细部分,包括网络暴露和安全性。任何数据库部署的最佳实践是限制可以直接连接的网络地址范围。通常,直接连接应限于您的应用程序服务器和监视应用程序,这些应用程序可能托管在同一网络基础结构中。
创建一个PHP脚本,它将访问它并以JSON格式返回所需的结果?
是的,推荐的方法是编写自己的界面,提供合适的API和身份验证控件。您应该能够找到PHP框架和/或库,以最大限度地减少您必须编写的自定义代码的数量(例如,REST,JSON,Oauth)。
您实施的界面可以:
答案 1 :(得分:0)
我会选择创建将处理所有逻辑和数据过滤的PHP脚本,作为JSON响应发送回来为应用程序做好准备。
以粗体标记,这将使您不必担心过滤客户端“android应用程序”端的数据,并将所有脏工作留在服务器端。
答案 2 :(得分:0)
有两个选项
制作一个包含所有CRUD操作的API服务,以便您使用 将能够从您的申请中打电话。
您可以直接通过Java MongoDb Driver访问。读 更多here如何开始使用java mongodb驱动程序。