成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

Cookie就擺在那,為什么死活吃不到?

shmily / 3540人閱讀

摘要:查找原因無(wú)法獲取到是因?yàn)橥床呗院蜆?biāo)記的原因。在同一個(gè)站點(diǎn)下使用屬性是無(wú)效的。此外,這個(gè)指示也會(huì)被用做響應(yīng)中被忽視的標(biāo)示。而通過(guò)設(shè)置為獲得的第三方,將會(huì)依舊享受同源策略,因此不能被通過(guò)或者從頭部相應(yīng)請(qǐng)求的腳本等訪問(wèn)。

作者:codexu

_

瀏覽器里明明存在的cookie,居然獲取不到???

console.log(document.cookie);
// 沒(méi)有???

起因

近來(lái)閑來(lái)無(wú)事,打算了解一下后端,既然想一探究竟,就從基本的注冊(cè)登錄開(kāi)始做起。

技術(shù)選型

作為一名前端開(kāi)發(fā)人員,用 Node.js 去體驗(yàn)后端應(yīng)該是最快上手的方式了??戳艘幌挛臋n,好長(zhǎng)...沒(méi)那么多時(shí)間看,直接...

框架 koa2

數(shù)據(jù)庫(kù) Mysql,不會(huì)操作數(shù)據(jù)庫(kù)找到了 Sequelize

請(qǐng)求 Axios

思路

賬戶(hù)密碼,不做加密,直接明文。

登陸

使用 jwt (jsonwebtoken) 生成 token 。

使用 koa2 ctx.cookies.set 在后端設(shè)置 cookie ,保存 token 。

跨域請(qǐng)求 koa2-cors

問(wèn)題來(lái)了

問(wèn)題一:填好用戶(hù)名密碼,點(diǎn)擊登錄,瀏覽器中沒(méi)有被設(shè)置 cookie

解決辦法: 使用 Axios 請(qǐng)求時(shí),增加屬性 withCredentials: true,這樣就請(qǐng)求就可以攜帶 cookie 了。

產(chǎn)生這種情況的原因是因?yàn)?koa2-cors,如果在前端使用代理跨域不會(huì)出現(xiàn)這種情況。

問(wèn)題二:瀏覽器中雖然能看到 cookie 中已經(jīng)存在 token,但是前端代碼中獲取不到

解決辦法:koa2 設(shè)置 cookie 時(shí),設(shè)置 httpOnly: false 即可。

查找原因

doucment.cookie 無(wú)法獲取到 cookie 是因?yàn)?同源策略 和 HttpOnly 標(biāo)記的原因。

withCredentials:表示跨域請(qǐng)求時(shí)是否需要使用憑證,默認(rèn)是 false

MDN
XMLHttpRequest.withCredentials 屬性是一個(gè) Boolean 類(lèi)型,它指示了是否該使用類(lèi)似 cookies,authorization headers(頭部授權(quán))或者TLS客戶(hù)端證書(shū)這一類(lèi)資格證書(shū)來(lái)創(chuàng)建一個(gè)跨站點(diǎn)訪問(wèn)控制(cross-site Access-Control)請(qǐng)求。在同一個(gè)站點(diǎn)下使用 withCredentials 屬性是無(wú)效的。
此外,這個(gè)指示也會(huì)被用做響應(yīng)中 cookies 被忽視的標(biāo)示。默認(rèn)值是 false。
如果在發(fā)送來(lái)自其他域的 XMLHttpRequest 請(qǐng)求之前,未設(shè)置 withCredentials 為true,那么就不能為它自己的域設(shè)置 cookie 值。而通過(guò)設(shè)置 withCredentials 為true獲得的第三方 cookies,將會(huì)依舊享受同源策略,因此不能被通過(guò) document.cookie 或者從頭部相應(yīng)請(qǐng)求的腳本等訪問(wèn)。

httpOnly:服務(wù)器可訪問(wèn) cookie, 默認(rèn)是 true

MDN
為避免跨域腳本 (XSS) 攻擊,通過(guò)JavaScript的 Document.cookie API無(wú)法訪問(wèn)帶有 HttpOnly 標(biāo)記的Cookie,它們只應(yīng)該發(fā)送給服務(wù)端。如果包含服務(wù)端 Session 信息的 Cookie 不想被客戶(hù)端 JavaScript 腳本調(diào)用,那么就應(yīng)該為其設(shè)置 HttpOnly 標(biāo)記。

換種方式

MDN 上說(shuō) 可能會(huì) XSS 攻擊,所以換種方式,存儲(chǔ)到 localstorage 里吧。請(qǐng)求時(shí),將 token 加在 header 中 Authorization。

總結(jié)

雖然繞了一圈,好像總結(jié)了兩個(gè)沒(méi)啥卵用的知識(shí)點(diǎn),但是學(xué)習(xí)就是這樣,遇到坑就積累一下。

希望有大佬能指點(diǎn)一下,如何做一個(gè)安全的登錄。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/106886.html

相關(guān)文章

  • 關(guān)于Node.js的__dirname,__filename,process.cwd(),./文件路

    摘要:先把當(dāng)成文件,依次查找當(dāng)前目錄下的,找到了,就返回該文件,不再繼續(xù)執(zhí)行。那么關(guān)于正確的結(jié)論是在中使用是跟的效果相同,不會(huì)因?yàn)閱?dòng)腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對(duì)于啟動(dòng)腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動(dòng)態(tài),大家一起多交流學(xué)習(xí),共同進(jìn)步,以學(xué)習(xí)者的身份寫(xiě)博...

    harryhappy 評(píng)論0 收藏0
  • 關(guān)于Node.js的__dirname,__filename,process.cwd(),./文件路

    摘要:先把當(dāng)成文件,依次查找當(dāng)前目錄下的,找到了,就返回該文件,不再繼續(xù)執(zhí)行。那么關(guān)于正確的結(jié)論是在中使用是跟的效果相同,不會(huì)因?yàn)閱?dòng)腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對(duì)于啟動(dòng)腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動(dòng)態(tài),大家一起多交流學(xué)習(xí),共同進(jìn)步,以學(xué)習(xí)者的身份寫(xiě)博...

    pumpkin9 評(píng)論0 收藏0
  • 入職三天,公司給了100塊錢(qián)叫我走人

    摘要:初來(lái)乍到,請(qǐng)多多指教,踏入廣州那一刻,我滿(mǎn)懷熱情的對(duì)廣州說(shuō)。本以為,作為大學(xué)畢業(yè)的我,在國(guó)內(nèi)最大的軟件服務(wù)商被寄予厚望的我,在廣州應(yīng)該也是個(gè)熱餑餑,不愁吃不愁穿不愁的。然而現(xiàn)實(shí)是廣州的公司對(duì)我并沒(méi)有多多指教,而是多多拋棄。 十月,金秋季節(jié),本是豐收之時(shí),卻因?yàn)殛懤m(xù)有同事離職,心中多少有些悲涼之意,頓然想起從參加工作到現(xiàn)在,五年已過(guò),當(dāng)年青澀懵懂的小年輕,如今出街招搖過(guò)市時(shí),被小孩子看到...

    Chao 評(píng)論0 收藏0
  • 入職三天,公司給了100塊錢(qián)叫我走人

    摘要:初來(lái)乍到,請(qǐng)多多指教,踏入廣州那一刻,我滿(mǎn)懷熱情的對(duì)廣州說(shuō)。本以為,作為大學(xué)畢業(yè)的我,在國(guó)內(nèi)最大的軟件服務(wù)商被寄予厚望的我,在廣州應(yīng)該也是個(gè)熱餑餑,不愁吃不愁穿不愁的。然而現(xiàn)實(shí)是廣州的公司對(duì)我并沒(méi)有多多指教,而是多多拋棄。 十月,金秋季節(jié),本是豐收之時(shí),卻因?yàn)殛懤m(xù)有同事離職,心中多少有些悲涼之意,頓然想起從參加工作到現(xiàn)在,五年已過(guò),當(dāng)年青澀懵懂的小年輕,如今出街招搖過(guò)市時(shí),被小孩子看到...

    Karrdy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<