真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django編寫cookie

cookie

HTTP協(xié)議是一個無狀態(tài)協(xié)議,即每一個請求都是獨立的!無法記錄前一次請求的狀態(tài),但HTTP會使用cookie值進行跟蹤會話。在WEB開發(fā)當(dāng)中,使用session來完成會話跟蹤,session底層依賴于cookie技術(shù)。

邊壩ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

其實cookies是由網(wǎng)絡(luò)服務(wù)器存儲在你電腦硬盤上的一個txt類型的小文件,它和你的網(wǎng)絡(luò)瀏覽行為有關(guān),所以存儲在你電腦上的cookies就好像你的一張身份證,你電腦上的cookies和其他電腦上的cookies是不一樣的;cookies不能被視作代碼執(zhí)行,也不能成為病毒,所以它對你基本無害。

cookie

在HTTP中,表示服務(wù)器對瀏覽器的“小甜點”。其實cookie是一個{key:value}結(jié)構(gòu),隨著服務(wù)器的響應(yīng)發(fā)送給客戶端瀏覽器,然后客戶端可以把cookie保存下來,當(dāng)下一次訪問同一服務(wù)器的時候把cookie再返回給客戶端。cookie是由服務(wù)器創(chuàng)建,然后通過響應(yīng)發(fā)送給客戶端的一個鍵值對。當(dāng)客戶端向服務(wù)器再次提交請求時,把這個cookie會一起發(fā)送過去,這樣服務(wù)器就會識別到這個客戶端,默認會填寫一些信息,方便訪問服務(wù)器。

cookie應(yīng)用

在django框架下我們簡單的實現(xiàn)一下,代碼原理如下:

我們目標(biāo)是通過login視圖,進行登錄,然后獲取到index頁面。

def index(request):
        
    return render(request,"index.html")


def login(request):
    if request.method == "GET":
        return render(request,"login.html")

    else:
        user = request.POST.get("user")
        pwd = request.POST.get("pwd")
        if user == "regina" and pwd == "":

            return redirect("/index")
        else:
            return render(request,"login.html")

但是現(xiàn)在問題存在于,我們直接去訪問index頁面也是可以獲取到的,從而就繞過了login的驗證

所以希望可以存在一個東西,在訪問index頁面時可以驗證是否有登錄,如果沒有登錄就訪問,服務(wù)器就需要把他返回到login頁面,如果有就展示index頁面

def index(request):
    print(request.COOKIES.get("is_login"))
    is_login = request.COOKIES.get("is_login")
    if is_login == "true":
        return render(request,"index.html")
    else:

        return redirect("/login")


def login(request):
    if request.method == "GET":
        return render(request,"login.html")

    else:
        user = request.POST.get("user")
        pwd = request.POST.get("pwd")
        if user == "regina" and pwd == "":
            #登陸成功時,再寫cookie
            res = HttpResponse("登錄成功")
            res.set_cookie("is_login","true")

            return res
        else:
            return render(request,"login.html")

salt值

上述例子可以看出來,cookie值存放的很簡單,這就使得有很大的風(fēng)險被盜取cookie,因此我們引入一個摘要值salt

res.set_signed_cookie("is_login","true",salt="")

服務(wù)器端接收的時候也需要改一下接收語句

is_login = request.get_signed_cookie("is_login",salt="")

網(wǎng)站標(biāo)題:django編寫cookie
URL標(biāo)題:http://weahome.cn/article/dsogdep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部