gpt4 book ai didi

python - 如何保护 python 中的 mysqldb 连接?

转载 作者:行者123 更新时间:2023-11-29 04:07:48 24 4
gpt4 key购买 nike

我正在创建一个需要来自远程数据库的 mysql 连接的 pygtk 应用程序。

db = MySQLdb.connect("remotehost","username","password","databse", charset='utf8')

应用程序即将完成并即将发布。但问题是,如果有人反编译此脚本,他们可以轻松读取上述凭据,然后就会出现安全问题。那么我该如何保护这段代码,或者有什么方法可以强编译这个文件吗?

最佳答案

数据库连接通常由可信网络内的可信计算机建立,原因有多种:

  • 如您所见,客户端需要存储对数据库的访问凭据。
  • 大多数时候,此类连接是在没有传输安全性(未加密)的情况下建立的,因此任何窃听者都可以观察和破坏请求/响应。
  • 数据库路径中的延迟通常是一个问题,因此您想将其最小化,从而将客户端放置在靠近数据库的位置

违反这一惯例意味着您将不得不处理这些问题。

使用一些其他协议(protocol)(例如 HTTP/REST)的中间服务来公开一个间接修改数据库的 API 是很常见的。您将服务保留在您的 trusted computing base 中的主机上,并且只有一台主机访问数据库。在此体系结构中,您可以(并且应该)执行身份验证和 mandatory access control在中介服务方面。反过来,为访问该服务的每个客户端设置不同的凭据将有助于确保安全。


如果此时无法重写您的应用程序,您应该遵循 patriciasz 在 keeping the least priviledge possible 上的建议.您可能还对 techniques to make it harder (but not impossible) to obtain the credentials 感兴趣

关于python - 如何保护 python 中的 mysqldb 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25014124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com