好吧,我对服务器的东西完全陌生,但我有一个运行 MySql 的 VPS。
我想使用 Python 创建一个移动应用程序,但我需要访问一个可供所有人使用的数据库。
所以现在我正在考虑在我的 VPS 上打开端口 3006,以便我们可以从 python 应用程序访问数据库。但这感觉不是一个好的做法。
有什么建议吗?
Tim*_*Tim 30
不要让您的数据库可供公开访问。数据库中的一个错误或密码较弱,有人删除/窃取/更改了所有内容。
您的移动应用程序不应该直接访问数据库,它应该访问一个 API,在您的情况下,该 API 可能是用位于 Nginx 后面的 Python 编写的。您的 API 调用需要经过身份验证以避免滥用,并且最好进行速率限制以避免 DDOS 攻击。
HBr*_*ijn 11
为所有人开放数据库端口是个好主意吗?
……感觉这不是一个好的做法。
不,不是。
访问控制和安全当然是那里的大问题。
从应用程序设计的角度来看:当数据库和应用程序之间存在显着的延迟时,大多数与数据库相关的事情都会可怕地消亡。
这就是大多数手机应用程序被设计为连接 API 的原因之一。
非常糟糕的主意。反编译应用程序非常容易。然后任何人都拥有您数据库的凭据。假设该应用程序每次安装都使用相同的登录信息,那么就会出现大量数据泄露。即使您为应用程序的每个用户使用不同的登录名,您也需要在行级别的表上设置正确的权限,这是一项艰巨的任务,我认为这是不可能的。
构建一个 API 更容易、更正确,所有通信都通过它完成