亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

為什么要這么做?

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

判斷一個(gè)應(yīng)用是否正確的將配置與代碼分離開了,一個(gè)簡(jiǎn)單方法是你的代碼是否可以立刻開源,而不用擔(dān)心有任何敏感信息暴露。

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

export PASSWORD=123456

windows

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

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

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

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

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

例如,我們?cè)谝粋€(gè)flask項(xiàng)目中,敏感信息我們專門放在一個(gè)叫.flaskenv 的文件中

.flaskenv 文件

FLASK_DEBUG=1
FLASK_ENV=local
AAA=1234

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

python-dotenv

python-dotenv 就是專門干這事的,他能將配置文件的配置信息自動(dòng)加入到環(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

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

flask配置最佳實(shí)踐

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

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

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

# config.py
class LocalConfig(BaseConfig):
    ENV = "development"
    FLASK_DEBUG = 1
    # 通過(guò)變量環(huán)境來(lái)加載數(shù)據(jù)庫(kù)配置
    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")

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

相關(guān)文章

  • Python解決“argument?after?*?must?be?an?iterable”報(bào)錯(cuò)問(wèn)題

    Python解決“argument?after?*?must?be?an?iterable”報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了Python解決“argument?after?*?must?be?an?iterable”報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解Python函數(shù)式編程—高階函數(shù)

    詳解Python函數(shù)式編程—高階函數(shù)

    這篇文章主要介紹了Python函數(shù)式編程—高階函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python中字符串的基本使用詳解

    Python中字符串的基本使用詳解

    Python要求字符串必須使用引號(hào)括起來(lái),使用單引號(hào)也行,使用雙引號(hào)也行,只要兩邊的引號(hào)能配對(duì)即可,這篇文章主要給大家介紹了關(guān)于Python中字符串的基本使用,需要的朋友可以參考下
    2021-12-12
  • Numpy的np.random隨機(jī)模塊詳解

    Numpy的np.random隨機(jī)模塊詳解

    這篇文章主要介紹了Numpy的np.random隨機(jī)模塊詳解,平時(shí)都會(huì)使用到隨機(jī)模塊,一般是torch.random或者是numpy.random,有或者是直接使用ramdom這個(gè)python內(nèi)置的工具包,那么下面就簡(jiǎn)單記錄一下numpy.random常用的函數(shù),需要的朋友可以參考下
    2023-08-08
  • python如何生成任意n階的三對(duì)角矩陣

    python如何生成任意n階的三對(duì)角矩陣

    這篇文章主要介紹了python如何生成任意n階的三對(duì)角矩陣,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 基于Python實(shí)現(xiàn)粒子濾波效果

    基于Python實(shí)現(xiàn)粒子濾波效果

    這篇文章主要介紹了基于Python實(shí)現(xiàn)粒子濾波效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • python實(shí)現(xiàn)12306搶票及自動(dòng)郵件發(fā)送提醒付款功能

    python實(shí)現(xiàn)12306搶票及自動(dòng)郵件發(fā)送提醒付款功能

    本文給大家分享python實(shí)現(xiàn)12306搶票及自動(dòng)郵件發(fā)送提醒付款功能,文章沒(méi)有給大家貼出完整代碼,只是技術(shù)交流,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-03-03
  • anaconda中安裝的python環(huán)境中沒(méi)有pip3的問(wèn)題及解決

    anaconda中安裝的python環(huán)境中沒(méi)有pip3的問(wèn)題及解決

    這篇文章主要介紹了anaconda中安裝的python環(huán)境中沒(méi)有pip3的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Windows下搭建python開發(fā)環(huán)境詳細(xì)步驟

    Windows下搭建python開發(fā)環(huán)境詳細(xì)步驟

    這篇文章主要為大家詳細(xì)介紹了Windows下搭建python開發(fā)環(huán)境,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例

    OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例

    這篇文章主要介紹了OpenCV+python實(shí)現(xiàn)膨脹和腐蝕的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論