標籤:token httponly 失效 索引值 pat 定義 nbsp 應用 sessionid
知識點概要
- Session
- CSRF
- Model操作
- Form驗證(ModelForm)
- 中介軟體
- 緩衝
- 訊號
內容詳細:
1. Session
基於Cookie做使用者驗證時:敏感資訊不適合放在cookie中
a. Session原理
Cookie是儲存在使用者瀏覽器端的索引值對
Session是儲存在伺服器端的索引值對
b. Cookie和Session對比
c. Session配置(缺少cache)
d. 樣本:實現兩周自動登陸
- request.session.set_expiry(60*10)
- SESSION_SAVE_EVERY_REQUEST = True
PS: cookie中不設定逾時時間,則表示關閉瀏覽器自動清除
- session依賴於cookie
- 伺服器session
request.session.get()
request.session[x] = x
request.session.clear()
- 設定檔中設定預設操作(通用配置):
SESSION_COOKIE_NAME = "sessionid" # Session的cookie儲存在瀏覽器上時的key,即:sessionid=隨機字串(預設)
SESSION_COOKIE_PATH = "/" # Session的cookie儲存的路徑(預設)
SESSION_COOKIE_DOMAIN = None # Session的cookie儲存的網域名稱(預設)
SESSION_COOKIE_SECURE = False # 是否Https傳輸cookie(預設)
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支援http傳輸(預設)
SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)(預設)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否關閉瀏覽器使得Session到期(預設)
# set_cookie(‘k‘,123)
SESSION_SAVE_EVERY_REQUEST = False # 是否每次請求都儲存Session,預設修改之後才儲存(預設)
- 引擎的配置
2. CSRF
a. CSRF原理
b. 無CSRF時存在隱患
c. Form提交(CSRF)
d. Ajax提交(CSRF)
CSRF要求標頭 X-CSRFToken
6. 中介軟體
7. 緩衝
5種配置
3種應用:
全域
視圖函數
模板
8. 訊號
- 內建訊號
- 自訂
- 定義訊號
- 出發訊號
- 訊號中註冊函數
3. Model操作
a. 欄位類型 + 參數
b. 連表欄位 + 參數
c. Meta
d. SQL操作:
- 基本增刪改查
- 進階操作
- 正反查詢
- 其他動作
e. 驗證(弱)
4. Form操作
完成:
- 驗證使用者請求
- 產生HTML
(保留上一次提交的資料)
自訂:
- 類
- 欄位(校正)
- 外掛程式(產生HTML)
初始化操作:
Session知識點