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

資訊專欄INFORMATION COLUMN

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

shmily / 3484人閱讀

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

作者:codexu

_

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

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

起因

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

技術選型

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

框架 koa2

數據庫 Mysql,不會操作數據庫找到了 Sequelize

請求 Axios

思路

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

登陸

使用 jwt (jsonwebtoken) 生成 token 。

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

跨域請求 koa2-cors

問題來了

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

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

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

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

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

查找原因

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

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

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

httpOnly:服務器可訪問 cookie, 默認是 true

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

換種方式

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

總結

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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106886.html

相關文章

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

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

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

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

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

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

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

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

    Karrdy 評論0 收藏0

發表評論

0條評論

shmily

|高級講師

TA的文章

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