suppr printenv

This commit is contained in:
fab
2026-09-04 11:03:10 +02:00
parent e7199692e4
commit 32acfccd45
2 changed files with 1 additions and 22 deletions
-7
View File
@@ -10,14 +10,7 @@ https://stackoverflow.com/questions/75840827/how-to-properly-generate-a-document
https://medium.com/@DanKaranja/building-api-documentation-in-flask-with-swagger-a-step-by-step-guide-59a453509e2f https://medium.com/@DanKaranja/building-api-documentation-in-flask-with-swagger-a-step-by-step-guide-59a453509e2f
https://apidog.com/blog/what-is-flasgger/ https://apidog.com/blog/what-is-flasgger/
autre piste: abandonnée pour l'instant. trop jeune ?
Documentation (OpenApi remplace swagger)
https://pypi.org/project/flask-openapi3/
autre piste ? https://github.com/fastapi/fastapi (mais y a du node :( )
TODO: TODO:
* sécurisation de l'API : un token ? otp ?
* sécurité: comment différencier les rôles admin (tout faire) et kaznaute (changer uniquement ses coordonnées, relancer son site propre web, ...) * sécurité: comment différencier les rôles admin (tout faire) et kaznaute (changer uniquement ses coordonnées, relancer son site propre web, ...)
* pourquoi pas une seule classe pour plusieurs api ? (par exemple LDAP, pas mal de factorisation possible) * pourquoi pas une seule classe pour plusieurs api ? (par exemple LDAP, pas mal de factorisation possible)
* pourquoi pas de donnée dans le body ? (au lieu des variables dans l'url). par ex, pour le message du mail. * pourquoi pas de donnée dans le body ? (au lieu des variables dans l'url). par ex, pour le message du mail.
+1 -15
View File
@@ -114,27 +114,13 @@ def authenticate():
@app.before_request @app.before_request
def require_basic_auth(): def require_basic_auth():
if request.path.startswith('/apidocs') or request.path.startswith('/print_env'): if request.path.startswith('/apidocs'):
#if request.path.startswith('/'): #if request.path.startswith('/'):
auth = request.authorization auth = request.authorization
if not auth or not check_auth(auth.username, auth.password): if not auth or not check_auth(auth.username, auth.password):
return authenticate() return authenticate()
#*************************************************
#DANGER: ne jamais mettre print_env en PROD
@app.route('/print_env')
def print_environment():
# Crée une chaîne de caractères pour stocker les variables d'environnement
env_string = ""
# Itère sur les variables d'environnement et les ajoute à la chaîne de caractères
for key, value in os.environ.items():
env_string += f"{key}: {value}\n" + "<br>"
# Retourne la chaîne de caractères contenant les variables d'environnement
return env_string
#************************************************* #*************************************************
#***** DEBUT Quelques fonctions utiles *********** #***** DEBUT Quelques fonctions utiles ***********
#************************************************* #*************************************************