Cookie和Session版的登入驗證

2022-08-26 10:57:09 字數 3171 閱讀 9823

url :

from django.conf.urls import

urlviews

urlpatterns =[

url(r

'^login/

', views.login),

url(r

'^home/

', views.home),

url(r

'^index/

', views.index),

]

前端 :

cookie檢視 :

#裝飾器

deflogin_required(fn):

def inner(request, *args, **kwargs):

if request.cookies.get("

login

") != "1"

: next = request.path_info #

未登入使用者訪問無許可權的頁面, 獲取所訪問的url, 以便登陸後直接跳轉

return redirect("

/login/?next={}

".format(next)) #

將所獲取的url引數傳遞到登入頁面的url上

ret = fn(request, *args, **kwargs)

return

ret

return

inner

#登入頁面

deflogin(request):

if request.method == "

post":

user = request.post.get("

name")

pwd = request.post.get("

pwd"

)

if user == "

dong

"and pwd == "

dong":

next = request.get.get("

next

") #

在登陸頁面的url上獲取未登入使用者訪問無許可權頁面所傳遞的引數

if next: #

如果有引數

ret =redirect(next)

else: #

沒有引數

ret = redirect("

/home/

") #

沒有引數說明使用者未訪問無許可權頁面,直接登入

home頁面")

session檢視 :

#

裝飾器def

login_required(fn):

def inner(request, *args, **kwargs):

if request.session.get("

login

") != "1"

: next = request.path_info #

未登入使用者訪問無許可權的頁面, 獲取所訪問的url, 以便登陸後直接跳轉

return redirect("

/login/?next={}

".format(next)) #

將所獲取的url引數傳遞到登入頁面的url上

ret = fn(request, *args, **kwargs)

return

ret

return

inner

#登入頁面

deflogin(request):

if request.method == "

post":

user = request.post.get("

name")

pwd = request.post.get("

pwd"

)

if user == "

dong

"and pwd == "

dong":

request.session[

"login

"] = "1"

#設定session,自動傳遞

next = request.get.get("

next

") #

在登陸頁面的url上獲取未登入使用者訪問無許可權頁面所傳遞的引數

if next: #

如果有引數

return

redirect(next)

else: #

沒有引數

return redirect("

/home/

") #

沒有引數說明使用者未訪問無許可權頁面,直接登入

home頁面")

cookie和session和token是什麼?

什麼是session?什麼是cookie?什麼是token?1 cookie?由於http是一種無狀態協議,伺服器沒有辦法單單從網路連線上面知道訪問者的身份,為了解決這個問題,就誕生了cookie cookie實際上是一小段的4k文字資訊。客戶端請求伺服器,如果伺服器需要記錄該使用者狀態,就使用re...

Session和Cookie的區別

session和cookie的區別 1 儲存的位置不同 session儲存在伺服器端的記憶體中,占用伺服器資源。cookie是儲存在客戶端。可以是瀏覽器中或者是檔案中 2 儲存的時間不同 session是關閉當前會話相關瀏覽器後自動清空。cookie是根據過期時間而會有不同。3 安全性不同 sess...

cookie和session的區別

一 cookie機制和session機制的區別 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。同時我們也看到,由於在伺服器端保持狀態的方案在客戶端也需要儲存乙個標識,所以session機制可能需要借助於cookie機制來達到儲存標識的目...