暫無描述

tanlie 5d0119202f 数据库连接。 6 天之前
.github 1163b37a0b logger enhance 6 天之前
app 5d0119202f 数据库连接。 6 天之前
note 1904a24bfd 视图函数。 6 天之前
tests 026d79c122 AI优化。 6 天之前
.gitignore ed4e1707a1 修 Python 日志配置,为 FileHandler 添加一个自定义的 Formatter,专门过滤掉 ANSI 转义序列。 6 天之前
README.md 5d0119202f 数据库连接。 6 天之前
ginger.py 6ae20abe2f feat: improve Flask app structure and logging 6 天之前
requirements.txt 4d24e407c5 chore(secrets): use OS keyring for DB password and ignore .env 6 天之前

README.md

ginger

Small Flask project. This README explains how to store the MySQL password securely using the OS keyring and how to verify it.

Secure DB password with keyring

This project prefers reading MYSQL_PASSWORD from environment variables. If you don't want to store the password in .env, put it into the OS keyring (recommended for development machines).

Service name used: ginger_mysql

Examples:

  • macOS / Linux (python -c):

python -c "import keyring; keyring.set_password('ginger_mysql', 'root', '@@qinys12346..')"

  • Windows PowerShell:

python -c "import keyring; keyring.set_password('ginger_mysql', 'root', '@@qinys12346..')"

To verify the stored password:

python -c "import keyring; print(keyring.get_password('ginger_mysql', 'root'))"

Alternative: environment variable

You can also set MYSQL_PASSWORD in .env (not recommended to commit .env). The repository .gitignore already ignores .env files.

Test DB connection (dev only)

Start the app and POST to /db/test (only works when DEBUG or TESTING is true) to create tables and insert a test user.

Notes

  • On CI or servers prefer a proper secret manager (Vault, AWS Secrets Manager, etc.) and inject secrets as env vars.
  • Do NOT commit real passwords to the repository.