【发布时间】:2018-05-22 16:22:45
【问题描述】:
我想知道我的 app.py 烧瓶应用中某些东西的安全性。首先是数据库,我使用的是 mysql,目前我通过以下方式连接到它:
# Config MySQL
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'password'
app.config['MYSQL_DB'] = 'databasename'
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
对我来说这感觉很奇怪,只需将密码输入纯文本等。我一直在网上搜索,但除了将其放入单独的 python 文件并导入它之外,没有找到任何其他方法.哪一种感觉就像什么都不做。有没有更好的方法来做到这一点?
然后是我用于密码编码的密钥。这也只是以纯文本形式存储在我的代码中,还有没有办法让它更安全或不那么明显?
提前致谢!
【问题讨论】:
-
MySQL 凭证在编程语言中总是以明文形式出现。问题是人们可以通过使用反编译器(Java、Flash 和 Flex)或反汇编器(C、C++、C#、VB ...)对您的软件进行逆向工程并找出您的 MySQL 凭据。如果人们可以访问您的您应该公开一个 API 协议(REST、XML RPC、SOAP)或服务器客户端(SOCKETS)接口来将数据传输到 MySQL 服务器。然后将 MySQL 凭据始终保存在服务器端。
-
这应该是一个答案!保留 mysql 服务器端并构建 API 来访问它。
标签: python mysql security flask secret-key