我正在为我的公司创建一个库存应用程序。该应用程序通过RDS存储库存信息。我正在使用MySQL并让pymysql进行连接。在整个开发过程中,从我创建数据库的膝上型计算机连接都没有问题。我想知道如何允许其他计算机与应用程序连接。是否有办法避免将每个单独的IP地址添加到安全组?我只是希望那些下载的应用程序可以访问,而不需要额外的登录凭据。
当我在我的家庭计算机上使用应用程序时,当我试图连接到数据库时,我会收到一个错误。
pymysql.connect(db=dbname, host=host, port=port, user=user, password=password)

发布于 2019-05-07 21:05:40
关于安全的附带说明:
授予远程应用程序对数据库的直接访问权限通常是一个非常糟糕的主意,特别是在没有给每个用户/应用程序自己的密码的情况下。
您实际上是在向任何拥有凭据的人开放数据库,并且在应用程序本身中包含了这些凭据。有人可以获得这些凭据,大概会对数据库的内容造成相当大的损害。
而且,您正在锁定--在您的数据库模式中,将来无法进行更改。假设您有一个具有特定列的表,并且您的应用程序直接访问该表。将来,如果修改表,则需要同时更新正在使用数据库的每个应用程序。如果其他人在自己的系统上运行应用程序,这是不可行的。
更好的方法是公开API,并让应用程序使用API访问数据:
经验法则:只有一个应用服务器应该直接访问给定的数据库。您可能有多个服务器运行相同的软件,以提供高可用性和支持高负载的流量,但不要让客户端应用程序直接访问数据库。这使得“三层”应用程序比“两层”应用程序要好得多。(Client - Server - Database)
https://stackoverflow.com/questions/56027975
复制相似问题