5
    db = MySQLdb.connect(host ="host",
        user="user",
        passwd="pass",
        db="dbname")
    q = db.cursor()

所以,这是我的代码块,我只是想知道,逆向工程有多容易,mysqldb 是否通过明文发送身份验证?

我正在创建一个通过 Internet 连接到 mySQL 服务器的程序,有人可以获取我的凭据吗?

有人可以获取我的服务器登录详细信息吗?

4

3 回答 3

1

MySQL 服务器可以配置为使用 SSL 来保护连接。有关使用带有 SSL 连接的 MySQLdb 的示例,请参见此处,有关配置服务器的一些信息,请参见此处。

于 2013-02-18T02:32:37.823 回答
1

在上面的示例中,用户名、密码和所有其他数据将以明文形式发送。

这里有两个相关的问题Python MySQLDB SSL Connection, Python MySQLdb 的CA SSL 参数不起作用,但是 key 可以吗?

如果您有权更改配置 MySQL 服务器,我们可以帮助配置 SSL。

MySQL 支持加密连接。您要连接的 MySQL 服务器必须配置为使用 SSL,并且客户端在连接时必须添加 SSL 参数。

使用 SSL 连接

shell> mysql --ssl-ca=ca-cert.pem ...

您可以测试您要连接的服务器是否支持 SSL my added --ssl-ca=ca-cert.pem。ca-cert.pem:在服务器端和客户端使用它作为--ssl-ca的参数。(如果使用 CA 证书,两边必须相同。)

MySQL SSL 示例描述了为 SSL 设置 MySQL 和连接的过程。

于 2013-02-18T04:09:51.363 回答
0

密码不应在代码中硬编码。Python 具有 config.py 模块的约定,您可以在其中将这些值与其余代码分开。

请看这里:

http://dev.mysql.com/doc/refman/5.5/en/connector-python-coding.html

上面已经回答了有关 SSL 以防止泄露的问题。

法比奥@fcerullo

于 2013-02-18T13:39:08.230 回答