好的,所以我对服务器的内容完全陌生,但是我有一个运行在MySql中的VPS。
我想用Python创建一个移动应用程序,但我需要访问每个人都可以使用的数据库。
所以现在我想在VPS上打开端口3006,这样我们就可以从python应用程序访问数据库了。但这感觉好像不是个好练习。
有什么建议吗?
发布于 2022-08-19 08:30:07
不要使您的数据库公开访问。数据库中的一个错误或弱密码,有人删除/窃取/更改一切。
您的移动应用程序不应该直接访问数据库,它应该访问一个API,在您的情况下,API可能是用Python编写的,位于Nginx后面。您的API调用需要经过身份验证才能避免滥用,并且理想情况下限制速率以避免DDOS攻击。
发布于 2022-08-19 08:29:49
为每个人打开一个数据库端口是个好主意吗? ...这感觉好像不是个好练习。
不不是。
当然,访问控制和安全是很大的问题。
从应用程序设计的角度来看:当数据库和应用程序之间存在显著的延迟时,大多数与数据库相关的东西都会死得很可怕。
这就是为什么大多数手机应用程序被设计成连接到API的原因之一。
发布于 2022-08-21 09:38:59
很糟糕的主意。对应用程序进行反编译是相当容易的。那么任何人都有你的数据库的凭证。假设该应用程序在每次安装时都使用相同的登录名,那么您就会有大量的数据泄漏。即使您对您的应用程序的每个用户使用不同的登录,您也有一项艰巨的任务,在您的表上设置正确的行级特权,我认为这是不可能的。
构建所有通信所通过的api要容易和正确得多。
https://serverfault.com/questions/1108562
复制相似问题