Python開發中的cookie 學習
阿新 • • 發佈:2018-01-12
bootstrap fde 文件 分隔 連接 pla ref 技術 sub cookie :是用戶保存在用戶瀏覽器端的一對鍵值對,是為了解決http的無狀態連接。服務端是可以把 cookie寫到用戶瀏覽器上,用戶每次發請求會攜帶cookie。
存放位置:
每次發請求cookie是放在請求頭裏面的。
應用場景:
存放位置:
每次發請求cookie是放在請求頭裏面的。
應用場景:
- 登陸用戶和密碼的記住密碼
- 顯示每頁顯示的數據,以後都是按照設定的數目顯示
- 投票機制
案例用戶登錄
創建用戶登錄的url
url(r‘^login/‘, views.login),
創建登錄頁面
代碼為:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登陸頁面</title> <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css"> <link rel="stylesheet" href="/static/jquery-3.2.1.min.js"> </head> <body> <form action="/login/" method="post"> <input type="text" name="username" placeholder="用戶名"> <input type="text" name="password" placeholder="密碼"> <input type="submit" value="提交"> </form> </body> </html>
創建後臺函數方法
代碼為:
def login(request): if request.method == "GET": return render(request,‘houtaiguanli/login.html‘) else: user = request.POST.get(‘username‘) pwd = request.POST.get(‘password‘) if user == ‘ke‘ and pwd == ‘123‘: obj = redirect(‘/classes/‘) obj.set_cookie(‘ticket‘,‘dafadfafaf‘) return obj else: return render(request,‘houtaiguanli/login.html‘)
這裏設計登錄成功後可以正常訪問班級頁面即“classes”,所以要在班級方法那裏做個判斷。如果判斷為用戶已經登錄,則可以正常訪問。判斷用戶沒有正常登錄,則讓它跳轉到登錄頁面繼續登錄
這裏就是通過設置cookie,發送給用戶的瀏覽器。用瀏覽器在進行新的請求時攜帶著cookie來的。
set_cookies的語法
Set-cookie:name=name;expires=date;path=path;domain=domain;secure name=name: 需要設置cookie的值(name不能使用“;”和","號),有多個name值時用";"分隔例如:name1=name1; name2=name2;name3=name3。expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS"
path=path: 設置cookie支持的路徑,如果path是一個路徑,則cookie對這個目錄下的所有文件及子目錄生效,例如:path="/cgi-bin/",如 果path是一個文件,則cookie指對這個文件生效,例如:path="/cgi-bin/cookie.cgi"。
domain=domain: 對cookie生效的域名,例如:domain="gzdzw.51.net"
secure: 如果給出此標誌,表示cookie只能通過SSL協議的https服務器來傳遞。
cookie的接收是通過設置環境變量HTTP_COOKIE來實現的,CGI程序可以通過檢索該變量獲取cookie信息。
cookie 也可以做加密的
添加salt
後臺拿去的時候解密
瀏覽器查看
Python開發中的cookie 學習