目錄
01. js如何修改cookie(有限制)
02. server端nodejs操作cookie
03. cookie做限制
04. redis
正文01. js如何修改cookie(有限制)
累加// 新增document.cookie = 'key=a'// 檢視document.cookie //會發現在cookie值後面將'key=a'追加上
客戶端修改cookie的情況並不多,尤其是有了local Storage之後,本地修改cookie的情形更少了。02. server端nodejs操作cookie
檢視和解析cookie// 獲取cookieconst reqCookieVal = req.headers.cookie// cookie解析let cookieVal = {}reqCookieVal.split(';').forEach(item => { if (!item) { return } const itemArr = item.split('=') const itemKey = itemArr[0].trim() const itemVal = itemArr[1].trim() cookieVal[itemKey] = itemVal})
修改cookie值
// 操作cookieres.setHeader('Set-Cookie', `username=${dataUsername}; path=/`)
03. cookie做限制
server端返回cookie後,不允許前端修改// 新增一個httpOnly即可res.setHeader('Set-Cookie', `username=${dataUsername}; path=/;httpOnly`)
cookie設定過期時間// 獲取時間const getCookieTimes = () => { const time = newDate() time.setTime(time.getTime() + (24 * 60 * 60 * 1000)) return time.toGMTString()}// 設定過期時間res.setHeader('Set-Cookie', `username=${dataUsername}; path=/;httpOnly;expires=${getCookieTimes()}`)
04. redis