国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

shmily / 3471人閱讀

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

作者:codexu

_

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

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

起因

近來閑來無事,打算了解一下后端,既然想一探究竟,就從基本的注冊登錄開始做起。

技術(shù)選型

作為一名前端開發(fā)人員,用 Node.js 去體驗后端應(yīng)該是最快上手的方式了。看了一下文檔,好長...沒那么多時間看,直接...

框架 koa2

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

請求 Axios

思路

賬戶密碼,不做加密,直接明文。

登陸

使用 jwt (jsonwebtoken) 生成 token 。

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

跨域請求 koa2-cors

問題來了

問題一:填好用戶名密碼,點擊登錄,瀏覽器中沒有被設(shè)置 cookie

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

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

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

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

查找原因

doucment.cookie 無法獲取到 cookie 是因為 同源策略 和 HttpOnly 標(biāo)記的原因。

withCredentials:表示跨域請求時是否需要使用憑證,默認是 false

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

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

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

換種方式

MDN 上說 可能會 XSS 攻擊,所以換種方式,存儲到 localstorage 里吧。請求時,將 token 加在 header 中 Authorization。

總結(jié)

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

希望有大佬能指點一下,如何做一個安全的登錄。

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/106886.html

相關(guān)文章

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

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

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

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

    pumpkin9 評論0 收藏0
  • 入職三天,公司給了100塊錢叫我走人

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

    Chao 評論0 收藏0
  • 入職三天,公司給了100塊錢叫我走人

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

    Karrdy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<