【问题标题】:Connecting python program to mysql safely将python程序安全连接到mysql
【发布时间】:2013-03-13 01:25:32
【问题描述】:

我想使用 MySQLdb 从我的 python 程序连接到 MySQL。

我很担心,因为我需要在.py 中输入用户名和密码才能连接到 MySQL 数据库以及 inno 设置。

没有人能找到用户名和密码并访问我的数据库吗?我该如何解决这个问题?我是否以某种方式创建了一个访问受限的 sql 用户? (我是 html/css/MySQL 的新手)。

【问题讨论】:

  • 要求用户输入用户并通过,而不是硬编码。
  • 使文件只有特定用户可读。如果有人对您的计算机具有 root 访问权限,他们将获得您的密码。

标签: python mysql


【解决方案1】:

首先,确保您的 MySQL 用户/密码与您的用户名和密码不同。

接下来,创建一个名为 config.py 的文件并将其放在 PYTHONPATH 中的目录中:

USER='zzzzzzzz'
PASS='xxxxxxxx'
HOST='yyyyyyyy'
MYDB='wwwwwwww'

更改文件的权限,以便只有您(和 root)可以读取它。例如,在 Unix 上:

chmod 0600 /path/to/config.py

现在,当您使用 MySQLdb 编写脚本时,您会编写

import config
connection = MySQLdb.connect(
    host = config.HOST, user = config.USER,
    passwd = config.PASS, db = config.MYDB)

因此您的用户名和密码不会出现在您的任何脚本中。


您也可以将 config.py 放在加密目录和/或 USB 拇指驱动器上,这样文件只有在驱动器安装后才能访问。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 2014-12-07
    • 2021-05-21
    相关资源
    最近更新 更多