最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python優(yōu)雅實現(xiàn)代碼與敏感信息分離的方法

 更新時間:2022年05月19日 15:40:09   作者:編程學習網  
這篇文章主要介紹了python優(yōu)雅實現(xiàn)代碼與敏感信息分離的方法,在flask中,python-dotenv 可以無縫接入項目中,只要你的項目中存在 .env 或者 .flaskenv 文件,他就會提示你是否安裝 python-dotenv,需要的朋友可以參考下

“12-Factor” 是構建SaaS服務的一種方法論,這套理論適用于任意語言和后端服務(數(shù)據(jù)庫、消息隊列、緩存等)開發(fā)的應用程序。

其中有一條很重要的原則是關于配置的, 12-Factor 要求代碼和配置嚴格分離。

為什么要這么做?

如果你的代碼放在Github等外部網絡,哪一天要是代碼不小心泄露了,你的各種密碼,密鑰,等配置全都暴露于公網中,這是一件非??膳碌氖隆?/p>

判斷一個應用是否正確的將配置與代碼分離開了,一個簡單方法是你的代碼是否可以立刻開源,而不用擔心有任何敏感信息暴露。

將應用的配置存儲于環(huán)境變量中是一種常規(guī)做法,例如在命令行中加入:

export PASSWORD=123456

windows

set PASSWORD=123456業(yè)務代碼中,通過環(huán)境變量來加載。

import os
env = os.environ.get("PASSWORD")
print(env)

這樣做就不會將敏感信息暴露于業(yè)務代碼中了,同時也可以最大程度讓開發(fā)人員接觸正式環(huán)境的敏感信息。

不過,問題來了,將敏感信息設置成環(huán)境變量,如果這樣的信息非常多,挨個設置也太麻煩了。

你一定希望可以將這些敏感信息單獨放在一個文件中,始終與代碼分開管理

例如,我們在一個flask項目中,敏感信息我們專門放在一個叫.flaskenv 的文件中

.flaskenv 文件

FLASK_DEBUG=1
FLASK_ENV=local
AAA=1234

可是這些配置如何加載到環(huán)境變量中去?

python-dotenv

python-dotenv 就是專門干這事的,他能將配置文件的配置信息自動加入到環(huán)境變量。

安裝 python-dotenv

pip install python-dotenv

加載配置文件

from dotenv import load_dotenv
# 加載文件
load_dotenv(".flaskenv")
import os
flask_env = os.environ.get("FLASK_ENV")
print(flask_env) # local

加載文件后,就可以通過os.environ從環(huán)境變量中讀取內容。

flask配置最佳實踐

在flask中,python-dotenv 可以無縫接入項目中,只要你的項目中存在 .env 或者 .flaskenv 文件,他就會提示你是否安裝 python-dotenv

$ flask run
 * Tip: There are .env files present. Do "pip install python-dotenv" to use them.

安裝完后python-dotenv后,就會自動加載里面的配置文件到環(huán)境變量中。

# config.py
class LocalConfig(BaseConfig):
    ENV = "development"
    FLASK_DEBUG = 1
    # 通過變量環(huán)境來加載數(shù)據(jù)庫配置
    SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI")
# app.py
def create_app():
    app = Flask(__name__)
    app.config.from_object(LocalConfig)
# view.py
def hello():
    # 加載環(huán)境變量
    os.environ.get("AAA")

到此這篇關于python優(yōu)雅實現(xiàn)代碼與敏感信息分離的方法的文章就介紹到這了,更多相關python代碼與敏感信息分離內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • django實現(xiàn)用戶注冊實例講解

    django實現(xiàn)用戶注冊實例講解

    在本篇文章里小編給大家整理的是關于django用戶注冊的相關實例內容,有興趣的朋友們學習下。
    2019-10-10
  • 用python做游戲的細節(jié)詳解

    用python做游戲的細節(jié)詳解

    在本篇內容里小編給大家分享的是關于python做游戲的細節(jié)相關知識點內容,有需要的朋友們跟著學習下。
    2019-06-06
  • Python實現(xiàn)關鍵路徑和七格圖計算詳解

    Python實現(xiàn)關鍵路徑和七格圖計算詳解

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)關鍵路徑和七格圖計算,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • opencv銀行卡號識別的項目實踐

    opencv銀行卡號識別的項目實踐

    本文主要介紹了opencv銀行卡號識別的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • 使用PM2+nginx部署python項目的方法示例

    使用PM2+nginx部署python項目的方法示例

    這篇文章主要介紹了使用PM2+nginx部署python項目的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • wxpython自定義下拉列表框過程圖解

    wxpython自定義下拉列表框過程圖解

    這篇文章主要介紹了wxpython自定義下拉列表框過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • python selenium執(zhí)行所有測試用例并生成報告的方法

    python selenium執(zhí)行所有測試用例并生成報告的方法

    今天小編就為大家分享一篇python selenium執(zhí)行所有測試用例并生成報告的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python 計算機視覺編程進階之OpenCV 進行霍夫變換

    Python 計算機視覺編程進階之OpenCV 進行霍夫變換

    霍夫變換(Hough)是一個非常重要的檢測間斷點邊界形狀的方法。它通過將圖像坐標空間變換到參數(shù)空間,來實現(xiàn)直線與曲線的擬合,通過本篇文章我們來詳細了解它
    2021-11-11
  • tensorflow模型繼續(xù)訓練 fineturn實例

    tensorflow模型繼續(xù)訓練 fineturn實例

    今天小編就為大家分享一篇tensorflow模型繼續(xù)訓練 fineturn實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python實現(xiàn)雙向鏈表原理

    python實現(xiàn)雙向鏈表原理

    這篇文章主要為大家詳細介紹了python實現(xiàn)雙向鏈表原理,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論

许昌县| 广东省| 绥中县| 互助| 荔浦县| 赤城县| 涿鹿县| 洞头县| 会同县| 锡林浩特市| 广宗县| 扎囊县| 石屏县| 金川县| 桂平市| 抚顺县| 吴桥县| 巫山县| 金山区| 昂仁县| 鲁山县| 锡林郭勒盟| 陕西省| 象州县| 赞皇县| 宁远县| 双柏县| 柘荣县| 合阳县| 峡江县| 马边| 吉首市| 普洱| 文登市| 东乌| 潮安县| 农安县| 南溪县| 皋兰县| 呼伦贝尔市| 宝应县|