连接远程服务器时MySQLdb的安全性?
db = MySQLdb.connect(host ="host",
user="user",
passwd="pass",
db="dbname")
q = db.cursor()
这是我的代码块,我想知道,反向工程这个代码有多简单?还有,mysqldb发送认证信息的时候是明文传输吗?
我正在创建一个程序,通过互联网连接到一个mySQL服务器,有人能获取到我的登录信息吗?
有人能拿到我的服务器登录详情吗?
3 个回答
0
密码不应该直接写在代码里。Python有一个约定,就是使用一个叫config.py的模块,你可以把这些值单独放在这里,不和其他代码混在一起。
可以看看这里:
http://dev.mysql.com/doc/refman/5.5/en/connector-python-coding.html
关于SSL防止信息泄露的问题,上面已经回答过了。
Fabio
@fcerullo
1
在你上面的例子中,用户名、密码和其他所有数据都是以明文形式发送的。
这里有两个相关的问题:Python MySQLDB SSL 连接,Python MySQLdb 的 CA SSL 参数不工作,但密钥可以?
如果你有权限更改 MySQL 服务器的配置,我们可以帮助你设置 SSL。
MySQL 支持加密连接。你连接的 MySQL 服务器必须配置为使用 SSL,而客户端在连接时也必须添加一个 SSL 参数。
shell> mysql --ssl-ca=ca-cert.pem ...
你可以通过添加 --ssl-ca=ca-cert.pem
来测试你连接的服务器是否支持 SSL。ca-cert.pem:在服务器和客户端上使用这个作为 --ssl-ca 的参数。(如果使用 CA 证书,两个端都必须是相同的。)
MySQL SSL 示例 描述了设置 MySQL 和使用 SSL 连接的过程。