removed secrets from the code (reom from chatgpt)

This commit is contained in:
2026-05-14 21:16:51 +02:00
parent ff9056fece
commit 7e64c5b4cf
7 changed files with 125 additions and 63 deletions
+24 -3
View File
@@ -1,3 +1,6 @@
import os
import secrets
from pathlib import Path
from flask import Flask, send_from_directory, url_for
from flask_login import LoginManager
from models import db
@@ -11,10 +14,28 @@ from groups import groups_bp
login_manager = LoginManager()
def load_secret(app, env_name, filename):
secret = os.environ.get(env_name)
if secret:
return secret
instance_path = Path(app.instance_path)
instance_path.mkdir(parents=True, exist_ok=True)
secret_path = instance_path / filename
if secret_path.exists():
return secret_path.read_text(encoding="utf-8").strip()
secret = secrets.token_urlsafe(48)
secret_path.write_text(secret, encoding="utf-8")
secret_path.chmod(0o600)
return secret
def create_app():
app = Flask(__name__)
app.config["SECRET_KEY"] = "9823740934riurehoiuwerf873487qe78feri"
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///app.db"
app = Flask(__name__, instance_relative_config=True)
app.config["SECRET_KEY"] = load_secret(app, "LAPP_SECRET_KEY", "secret_key")
app.config["APPLICATION_KEY"] = load_secret(app, "LAPP_APPLICATION_KEY", "application_key")
app.config["SQLALCHEMY_DATABASE_URI"] = os.environ.get("LAPP_DATABASE_URI", "sqlite:///app.db")
db.init_app(app)
login_manager.init_app(app)