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

Flask 入門(mén)系列 Cookie與session的介紹

 更新時(shí)間:2021年11月25日 17:03:28   作者:tigeriaf  
這篇文章主要給大家分享的是 Flask 入門(mén)系列 Cookie與session的介紹,下面文字圍繞 Cookie與session的相關(guān)資料展開(kāi)詳情,需要的朋友可以參考一下,希望對(duì)大家有所幫助

一、Cookie的使用

1、什么是Cookie

我們都知道,HTTP 協(xié)議是無(wú)狀態(tài)的,也就是說(shuō),在一次請(qǐng)求響應(yīng)結(jié)束后,服務(wù)端不會(huì)保留任何對(duì)方狀態(tài)的信息,對(duì)于某些需要保留的信息,可以通過(guò) Cookie 技術(shù)來(lái)完成,通過(guò)在請(qǐng)求和響應(yīng)報(bào)文中添加 Cookie 數(shù)據(jù)來(lái)保存客戶端的狀態(tài)信息。

Web 服務(wù)器為了存儲(chǔ)某些數(shù)據(jù)(比如用戶信息) 而保存在瀏覽器上的小型文本數(shù)據(jù),瀏覽器會(huì)在一定時(shí)間內(nèi)保存它,在下次向該服務(wù)器發(fā)送請(qǐng)求時(shí)附帶這些數(shù)據(jù),Cookie 通常被用來(lái)進(jìn)行用戶會(huì)話管理(比如用戶的登錄狀態(tài)),保存用戶的一些信息。

2、在Flask中使用Cookie

Flask 中,如果想要在響應(yīng)中添加一個(gè) cookie,可以使用 response 對(duì)象的set_cookie()方法。

set_ cookie()方法的參數(shù)如下:

  • keycookie 鍵名
  • valuecookie
  • max_agecookie 被保存的時(shí)間,單位:秒
  • expires:具體的過(guò)期時(shí)間
  • path:限制 cookie 可用的路徑,默認(rèn)為整個(gè)域名
  • domaincookie 可用的域名
  • secure:設(shè)置為 True,只有通過(guò) HTTPS 才可使用
  • httponly:設(shè)置為True,禁止客戶端 js 獲取 cookie

具體使用如下:

@app.route('user/<name>')

def user(name):

    response = make_response('hello {}'.format(name), 200)

    response.set_cookie("name", name)

    return response

Flask 中,Cookie 可以通過(guò) request 請(qǐng)求對(duì)象 cookies 屬性獲取。

@app.route('/hello')

def hello():

    user = request.args.get('name')

    if not user:

        user = request.cookies.get("name", 'default')

    return 'Hello {}!'.format(user)

二、session的使用

1、什么是session

session 指用戶會(huì)話,會(huì)話可以用來(lái)保存當(dāng)前請(qǐng)求的一些狀態(tài),以便于在請(qǐng)求之前共享信息。session是存儲(chǔ)在服務(wù)端的,通過(guò)唯一標(biāo)識(shí)區(qū)分用戶 session,即 session id,一般情況下,session id 是存在 Cookie 中的,服務(wù)端可以獲取 Cookie 中的 session id 來(lái)獲取用戶 session。

2、Flask中的session對(duì)象

我們了解了 Cookie 最重要的功能是用來(lái)保存客戶端用戶的狀態(tài)信息。但是存在這樣一個(gè)問(wèn)題,Cookie 是保存在客戶端的,在瀏覽器中可以輕易的添加和修改 Cookie,而且如果把用戶的狀態(tài)信息以明文的方式存儲(chǔ)在 Cookie 里的話,那么就可以通過(guò)偽造 Cookie 信息來(lái)偽造別人的用戶信息,從而獲取一些權(quán)限。為了避免這個(gè)問(wèn)題,我們要對(duì)敏感的 Cookie 內(nèi)容進(jìn)行加密。Flask 提供了 session 對(duì)象就是用來(lái)將 Cookie 數(shù)據(jù)加密存儲(chǔ)的。

3、在Flask中使用session

session 需要通過(guò)密鑰對(duì)數(shù)據(jù)進(jìn)行簽名以加密數(shù)據(jù),因此,需要先設(shè)置一個(gè)密鑰app.secret_key,這里設(shè)置的密鑰只是一個(gè)簡(jiǎn)單示例,在生產(chǎn)環(huán)境中,必須要隨機(jī)生成的密鑰,保證秘鑰的復(fù)雜度度和隨機(jī)性,才更安全。

# 設(shè)置密鑰

app.secret_key = 'qwertyuiop'

@app.route('/user', methods=['POST', 'GET'])

def user():

    if request.method == 'POST':

        user = request.form['user_name']

        session['user_name'] = request.form['user_name']

        return 'Hello {}!'.format(user)

    else:

        if 'user_name' in session:

            return 'Hello {}!'.format(session["user_name"])

session 對(duì)象的使用就跟字典一樣,如上,用戶使用POST請(qǐng)求登錄后,在 session 中保存用戶名,下次再使用GET請(qǐng)求時(shí),不傳遞任何信息,也可以在 session 中獲取該用戶的信息。

想要清除 session 指定信息的話,例如用戶名,可以使用 session.pop("user_name", None),清除全部的話可以使用session.clear()

到此這篇關(guān)于 Flask 入門(mén)系列 Cookie與session的介紹的文章就介紹到這了,更多相關(guān) Flask? Cookie與session內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python標(biāo)準(zhǔn)庫(kù)re的使用舉例(正則化匹配)

    Python標(biāo)準(zhǔn)庫(kù)re的使用舉例(正則化匹配)

    正則表達(dá)式re是內(nèi)置函數(shù),通過(guò)一定的匹配規(guī)則獲取指定的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python標(biāo)準(zhǔn)庫(kù)re的使用舉例,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Python importlib模塊重載使用方法詳解

    Python importlib模塊重載使用方法詳解

    這篇文章主要介紹了Python importlib模塊重載使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • pandas.read_csv參數(shù)詳解(小結(jié))

    pandas.read_csv參數(shù)詳解(小結(jié))

    這篇文章主要介紹了pandas.read_csv參數(shù)詳解(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • pycharm中導(dǎo)入不了torch包的解決方案

    pycharm中導(dǎo)入不了torch包的解決方案

    這篇文章主要介紹了pycharm中導(dǎo)入不了torch包的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python?tuple方法和string常量介紹

    Python?tuple方法和string常量介紹

    這篇文章主要介紹了Python?tuple方法和string常量,文章基于python的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,對(duì)初學(xué)python的通知有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python3內(nèi)置模塊之json編解碼方法小結(jié)【推薦】

    Python3內(nèi)置模塊之json編解碼方法小結(jié)【推薦】

    這篇文章主要介紹了Python3內(nèi)置模塊之json編解碼方法小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 抵御代碼復(fù)雜性使python函數(shù)更加Pythonic技巧示例詳解

    抵御代碼復(fù)雜性使python函數(shù)更加Pythonic技巧示例詳解

    這篇文章主要介紹了抵御代碼復(fù)雜性使python函數(shù)更加Pythonic技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python內(nèi)建類型與標(biāo)準(zhǔn)類型

    python內(nèi)建類型與標(biāo)準(zhǔn)類型

    這篇文章主要介紹了python內(nèi)建類型與標(biāo)準(zhǔn)類型,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • opencv用VS2013調(diào)試時(shí)用Image Watch插件查看圖片

    opencv用VS2013調(diào)試時(shí)用Image Watch插件查看圖片

    本文主要介紹了opencv用VS2013調(diào)試時(shí)用Image Watch插件查看圖片,直接以圖片形式可視化了opencv中的Mat變量。感興趣的可以了解下
    2021-07-07
  • 簡(jiǎn)單學(xué)習(xí)Python time模塊

    簡(jiǎn)單學(xué)習(xí)Python time模塊

    這篇文章主要和大家一起簡(jiǎn)單學(xué)習(xí)一下Python time模塊,Python time模塊提供了一些用于管理時(shí)間和日期的C庫(kù)函數(shù),對(duì)time模塊感興趣的小伙伴們可以參考一下
    2016-04-04

最新評(píng)論