Python 安全连接到 MariaDB 数据库
Python securely connect to MariaDB database
我正在尝试读取我的 MariaDB 服务器的数据库。我是这样设置的:
CREATE DATABASE database1;
CREATE USER RaspberryPi@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database1.* TO RaspberryPi@'%';
SELECT database1;
CREATE TABLE Users;
这是我的 Raspberry Pi 4 IP:192.168.0.92。现在我的 Windows 计算机上有这个 Python 脚本:
import mysql.connector
mydb = mysql.connector.connect(host="192.168.0.92", user="RaspberryPi", passwd="password", database="database1")
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM Users")
print(mycursor)
现在我使用 pyinstaller 将 Python 脚本转换为 .exe 文件。我的问题是,如果我把这个文件给其他人,他可以很容易地将 .exe 文件转换成他原来的 .py 文件,然后他就有了我的登录凭据。我能否以某种方式对其进行编码,使其不显示用户名和密码或无法将脚本转换回来?
谢谢。
您可以使用此代码段:
模块导入
import mariadb
import sys
# Connect to MariaDB Platform
try:
conn = mariadb.connect(
user="db_user",
password="db_user_passwd",
host="192.0.2.1",
port=3306,
database="employees"
)
except mariadb.Error as e:
print(f"Error connecting to MariaDB Platform: {e}")
sys.exit(1)
# Get Cursor
cur = conn.cursor()
更多参考使用这个 - https://mariadb.com/resources/blog/how-to-connect-python-programs-to-mariadb/
更新:
为了使其更安全,您可以将用户名和密码与 get input
我正在尝试读取我的 MariaDB 服务器的数据库。我是这样设置的:
CREATE DATABASE database1;
CREATE USER RaspberryPi@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database1.* TO RaspberryPi@'%';
SELECT database1;
CREATE TABLE Users;
这是我的 Raspberry Pi 4 IP:192.168.0.92。现在我的 Windows 计算机上有这个 Python 脚本:
import mysql.connector
mydb = mysql.connector.connect(host="192.168.0.92", user="RaspberryPi", passwd="password", database="database1")
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM Users")
print(mycursor)
现在我使用 pyinstaller 将 Python 脚本转换为 .exe 文件。我的问题是,如果我把这个文件给其他人,他可以很容易地将 .exe 文件转换成他原来的 .py 文件,然后他就有了我的登录凭据。我能否以某种方式对其进行编码,使其不显示用户名和密码或无法将脚本转换回来?
谢谢。
您可以使用此代码段:
模块导入
import mariadb
import sys
# Connect to MariaDB Platform
try:
conn = mariadb.connect(
user="db_user",
password="db_user_passwd",
host="192.0.2.1",
port=3306,
database="employees"
)
except mariadb.Error as e:
print(f"Error connecting to MariaDB Platform: {e}")
sys.exit(1)
# Get Cursor
cur = conn.cursor()
更多参考使用这个 - https://mariadb.com/resources/blog/how-to-connect-python-programs-to-mariadb/
更新: 为了使其更安全,您可以将用户名和密码与 get input